Пространство имен System.Json отсутствует в Windows Phone 7 - PullRequest
5 голосов
/ 18 марта 2010

Во время презентации Mix10 докладчик (Чарли Киндель) сказал, что при написании приложений на основе Silverlight для WP7 вы получаете все Silverlight 3.0 с некоторыми смешанными Silverlight 4.0.

Почему же отсутствует System.Json? Он был включен в Silverlight 3.0 и включен в Silverlight 4.0.

Справочник по библиотеке классов Windows Phone 7

Ответы [ 7 ]

14 голосов
/ 02 августа 2011

Добавьте ссылку на System.ServiceModel.Web, а также ссылку на System.Runtime.Serialization, и она должна работать. System.ServiceModel.Web добавляет .JSON в пространство имен Serialization.

7 голосов
/ 19 марта 2010

Вы также можете попробовать использовать DataContractJsonSerializer, который определенно присутствует в инструментах MIX RC http://msdn.microsoft.com/en-us/library/system.runtime.serialization.json.datacontractjsonserializer.aspx.

4 голосов
/ 16 апреля 2010

Похоже, что JSON поддерживается в Windows Phone 7 в пространстве имен System.Runtime.Serialization.Json, надеюсь, это будет полезно, даже если этому вопросу уже месяц! Информации из TechDays в Лондоне (через Twitter) лично там не было.


Просто обновление заключается в том, что пространство имен и класс, которые я здесь цитировал, были неправильными, поэтому вот правильное пространство имен и класс:

System.Servicemodel.Web и класс DataContractJsonSerializer для сериализации и десериализации JSON в Windows Phone 7 - извините за неточный ответ, который я исправил после опубликованного здесь комментария.

2 голосов
/ 01 сентября 2010

В нашем проекте Windows Phone 7 мы используем Библиотека Джеймса Ньютона-Кингса JSON.Net . Просто скачайте код и добавьте ссылку на Newtonsoft.Json.Silverlight . Работает как шарм.

2 голосов
/ 08 июля 2010

Хотя DataContractJsonSerializer доступен в Silverlight, он не доступен для Windows Phone 7 CTP. Может быть, он появится позже, но сейчас его нет. (Я пытался использовать его в коде, сборка System.Runtime.Serialization не включает этот класс, а в официальной документации говорится, что сериализация JSON выполняется в Silverlight, но не в Windows Phone 7.)

Однако я смог взять библиотеку JSON.NET и создать из нее проект библиотеки WP7. Это дало мне инфраструктуру JSON на телефоне, которую я успешно использую.

1 голос
/ 22 марта 2010

Я тоже не уверен, почему, но по этой ссылке написано, что пространство имен не поддерживается

См. Функции, поддерживаемые в Silverlight для Windows Phone .

1 голос
/ 19 марта 2010

Я не могу сказать вам, почему там нет пространства имен JSON, но, возможно, вы могли бы использовать клиентскую библиотеку OData для Windows Phone 7, которая поддерживает JSON:

http://www.microsoft.com/downloads/details.aspx?FamilyID=b251b247-70ca-4887-bab6-dccdec192f8d&displaylang=en

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