Разбор JSON на Windows Phone 7 - PullRequest
       14

Разбор JSON на Windows Phone 7

6 голосов
/ 22 октября 2010

Я пытаюсь сделать несколько простых манипуляций с JSON на Windows Phone 7. JSON.NET выглядит великолепно, но VS2010 жалуется, когда я пытаюсь добавить ссылку на него.

Он позволил мне добавить DLL Silverlight, но предупредил, что это может привести к странному поведению приложения, поэтому я скептически отношусь к тому, что оно действительно будет работать.

Этот выглядит как прекрасный способ сериализации и десериализации данных, но мне нужно на самом деле запросить их. Могу ли я просто использовать эту технику для сериализации IQueryable, а затем использовать LINQ на нем? Можно ли как-то преобразовать JSON в XML и использовать LINQ?

Или я сам должен заниматься грубой и грустной манипуляцией со строками?

Обновление : по какой-то причине я даже не могу заставить VS2010 распознавать DataContractJsonSerializer:

        // works
        DataContractSerializer ser1 = new DataContractSerializer();

        // the type or namespace 'DataContractJsonSerializer' could not be found ...
        DataContractJsonSerializer ser = new DataContractJsonSerializer();

Обновление 2 : жалуется также следующее:

using System.Runtime.Serialization.Json;

Ошибка:

Тип или имя пространства имен 'Json' делает не существует в пространстве имен 'System.Runtime.Serialization' (являются вам не хватает ссылки на сборку?)

Я что-то не так делаю или JSON не поддерживается в wp7?

Обновление 3 : похоже, DataContractJsonSerializer находится в пространстве имен System.Servicemodel.Web.

Обновление 4 : я добавил ссылку на dll Silverlight JSON.NET, и пока она работает нормально. Скрестив пальцы.

Ответы [ 2 ]

5 голосов
/ 23 октября 2010

Да, согласно вашему Обновлению 3 (почти):
DataContractJsonSerializer находится в сборке System.Servicemodel.Web.dll, но в пространстве имен System.Runtime.Serialization.Json.

Это поймало довольно много людей.

Рад, что у тебя, похоже, все заработало.

0 голосов
/ 16 мая 2012

Кроме того, если вы используете атрибут DataContract, он находится в пространстве имен System.Runtime.Serialization и в сборке System.Runtime.Serialization.dll.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...