我在尝试实现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字符串?
答案 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