15

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

4

5 回答 5

32

JavaScriptSerializer位于System.Web.ExtensionsAssembly。您应该将其添加到您的项目引用中。

您可以在MSDN中获取此信息

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

于 2013-09-11T16:04:11.283 回答
4
System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var dict = oSerializer.Deserialize<Dictionary<string, object>>(responseFromServer);

这将帮助您获得价值

于 2014-06-14T13:16:12.503 回答
4

添加参考 System.Web.Extensions

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

现在您应该使 JavaScriptSerializer 有效。

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

添加参考。在此处查看详细信息:http: //json.codeplex.com/

于 2018-01-06T19:41:31.853 回答
0

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

于 2013-09-11T16:05:10.183 回答
-3

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

安装包 Desharp -Version 1.2.11

于 2017-12-16T14:06:46.913 回答