Проблема пространства имен 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