JavaScriptSerializer命名空间问题

我在尝试实现JavaScriptSerializer来解析从服务器接收的JSON字符串时遇到问题。

我实现了以下代码:

 responseFromServer = readStream.ReadLine(); JavaScriptSerializer ser = new JavaScriptSerializer(); var dict = new JavaScriptSerializer().Deserialize<Dictionary>(responseFromServer); var status = dict["notificationType"]; Debug.WriteLine(status); 

我添加了using System.Web.Script.Serialization;

Visual C#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>(responseFromServer); 

这将帮助您获得价值

添加参考System.Web.Extensions

然后使用System.Web.Script.Serialization键入;

现在你应该让JavaScriptSerializer有效。

您可以通过添加Newtonsoft.Json.dll来使用更好的方法

添加参考。 详情请见: http : //json.codeplex.com/

我有这个问题,我添加了System.Web.Extensions项目参考,尝试将该引用添加到您的项目,看看它是否有帮助

安装Desharp软件包,您可以在软件包管理器控制台中使用此命令

Install-Package Desharp -Version 1.2.11