Проблема пространства имен 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
Сборка: System.Web.Extensions (в System.Web.Extensions.dll)
Добавить ссылку System.Web.Extensions
затем введите с помощью System.Web.Script.Serialization;
Теперь вы должны получить действительный JavaScriptSerializer.
Вы можете использовать лучший подход, добавив Newtonsoft.Json.dll через
Добавить ссылку. Подробности смотрите здесь: http://json.codeplex.com/
System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var dict = oSerializer.Deserialize<Dictionary<string, object>>(responseFromServer);
Это поможет вам получить значение
У меня была эта проблема, и я добавил ссылку на проект для System.Web.Extensions
попробуйте добавить эту ссылку в ваш проект и посмотрите, поможет ли это
Установить пакет Desharp вы можете использовать эту команду в консоли диспетчера пакетов
Install-Package Desharp -Версия 1.2.11