Проблема пространства имен JavaScriptSerializer
у меня проблема с попыткой реализовать JavaScriptSerializer
для анализа строки JSON, полученной от сервера.
я реализовал следующий код:
responseFromServer = readStream.ReadLine();
JavaScriptSerializer ser = new JavaScriptSerializer();
var dict = new JavaScriptSerializer().Deserialize<Dictionary<string, object>>(responseFromServer);
var status = dict["notificationType"];
Debug.WriteLine(status);
добавил using System.Web.Script.Serialization;
Visual C# 2010 Express сообщает мне имя пространства имен Script
не существует в пространстве имен System.Web
. В результате JavaScriptSerializer
недопустимо.
что мне не хватает, чтобы использовать это, или есть лучший способ проанализировать строку JSON?
5 ответов
JavaScriptSerializer
находится в System.Web.Extensions
сборка. Вы должны добавить его в свои ссылки на проект.
Вы можете получить эту информацию в MSDN
Сборка: Системы.Сеть.Расширения (в системе.Сеть.Увеличение.dll файлы)
System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var dict = oSerializer.Deserialize<Dictionary<string, object>>(responseFromServer);
Это поможет вам получить значение
Добавить Ссылку На Систему.Сеть.Расширения
затем введите с помощью System.Сеть.Скрипт.Сериализация;
теперь вы должны получить javascriptserializer действительным.
вы можете использовать лучший подход, добавив Newtonsoft.формат JSON.dll через
Добавить Ссылку. Подробности здесь : http://json.codeplex.com/
У меня была эта проблема, и я добавил ссылку на проект для System.Web.Extensions
, попробуйте добавить эту ссылку в свой проект и посмотреть, поможет ли это
установить пакет Desharp вы можете использовать эту команду в консоли диспетчера пакетов
Установить-Пакет Desharp-Версия 1.2.11