我在Visual Studio 2010中似乎找不到JavaScriptSerializer
对象和System.Web.Script.Serialization
命名空间。 我需要将一些东西序列化为JSON,我应该使用什么?
是的,我已经在项目中包含了System.Web.Extensions
(在System.Web.Extensions.dll)。 这就是为什么我感到震惊?
System.Web.Extensions
在3.5中被标记为过时的。从谷歌上的第一个搜索结果来看。
http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx
JavaScriptSerializer类
为支持AJAX的应用程序提供序列化和反序列化功能。
继承层次结构
System.Object
System.Web.Script.Serialization.JavaScriptSerializer
名称空间。 系统.Web.脚本.序列化
大会。 System.Web.Extensions(在System.Web.Extensions.dll中)。
**因此,包括System.Web.Extensions.dll
作为参考。
我'正在使用Visual Studio 2015,终于碰到了这个帖子。
是的,为了使用
JavaScriptSerializer json = new JavaScriptSerializer();
你必须右击引用,在Assemblies--> 框架下选择
System.Web.Extensions
然后加上你的参考资料。
using System.Web.Script.Serialization;
这就是如何在你的应用程序中获得JavaScriptSerializer的方法,目标是.NET 4.0
(完整的)。
using System.Web.Script.Serialization;
这应该允许你创建一个新的JavaScriptSerializer
对象!
对于那些似乎是按照上面的答案,但仍然有问题的人(例如,见海报'问题的第一条评论)。
你可能在一个有许多项目的解决方案中工作。 你看起来正在工作的项目引用了其他项目,但你实际上是在修改其他项目中的一个文件。 例如: * 项目A引用了`System.Optical.com',但实际上你修改的是其他项目中的一个文件。
System.Web.Extensions
。
*项目A参考项目B但如果你修改的文件是在B项目中使用System.Web.Script.Serialization
,那么你也需要在B项目中添加对System.Web.Extension
的引用。
只是让你知道,我正在使用Visual Studio 2013,在我使用项目属性切换到3.5框架和回到4.5之前,我一直有同样的问题。 出于某种原因,这正确注册了.dll,我可以使用System.Web.Extensions。
[![在此输入图片描述][1]][1] 。
[![在此输入图像描述][2]][2]
[1]: http://i.stack.imgur.com/WERFp.jpg [2]: http://i.stack.imgur.com/lPLkh.jpg
你可以使用另一个选项,那就是Newtonsoft.Json,你可以从NuGet包管理器中安装它。
工具>>。 Nuget Package Manager >>。 在NuGet包管理器控制台中,通过发送命令
"安装包Newtonsoft.Json
或
通过使用工具>>的GUI。 Nuget包管理器>>。 为解决方案管理NuGet包...
[![在这里输入图像描述][1]][1] 。