JavaScriptSerializer命名空间问题

时间:2013-09-11 16:00:57

标签: c# json visual-studio-2010 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 个答案:

答案 0 :(得分:25)

JavaScriptSerializer位于System.Web.Extensions大会。您应该将它添加到项目参考中。

您可以在MSDN

中获取此信息
  

程序集:System.Web.Extensions(在System.Web.Extensions.dll中)

答案 1 :(得分:3)

System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var dict = oSerializer.Deserialize<Dictionary<string, object>>(responseFromServer);

这将帮助您获得值

答案 2 :(得分:2)

添加参考System.Web.Extensions

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

键入

现在你应该让JavaScriptSerializer有效。

您可以通过

添加Newtonsoft.Json.dll来使用更好的方法

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

答案 3 :(得分:0)

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

答案 4 :(得分:-2)

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

Install-Package Desharp -Version 1.2.11