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