我似乎找不到JavaScriptSerializer对象,也找不到Visual Studio 2010中的System.Web.Script.Serialization名称空间。我需要把东西序列化成JSON应该用什么呢?

是的,我已经在项目中包含了System.Web.Extensions(在System.Web.Extensions.dll中)。这就是我震惊的原因吗?

我知道System.Web.Extensions在3.5被标记为过时


当前回答

你可以使用另一种选择,那就是Newtonsoft。Json,你可以从NuGet包管理器安装它。

工具>> Nuget包管理>>包管理控制台通过下发命令

安装包Newtonsoft。Json

or

通过使用工具>> Nuget包管理>>管理解决方案的Nuget包…

其他回答

右键单击引用并添加引用,然后从程序集->框架中选择System.Web.Extensions。 现在你应该能够将以下内容添加到类文件中:

    using System.Web.Script.Serialization;

我正在使用Visual Studio 2015,终于看到了这篇文章。

是的,为了使用

JavaScriptSerializer json = new JavaScriptSerializer();

您必须右键单击引用并在“程序集—>框架选择”下

System.Web.Extensions

然后加上你的推荐信

using System.Web.Script.Serialization;

你可以使用另一种选择,那就是Newtonsoft。Json,你可以从NuGet包管理器安装它。

工具>> Nuget包管理>>包管理控制台通过下发命令

安装包Newtonsoft。Json

or

通过使用工具>> Nuget包管理>>管理解决方案的Nuget包…

对于那些似乎按照上面的答案,但仍然有问题的人(例如,见帖子问题的第一条评论):

您可能正在处理许多项目的解决方案。您似乎正在使用的项目引用其他项目,但实际上您正在修改来自其他项目之一的文件。例如:

项目A引用System.Web.Extensions 项目A引用项目B

但是,如果您正在修改以使用System.Web.Script.Serialization的文件在项目B中,那么您还需要在项目B中添加对System.Web.Extension的引用。

必须将引用添加到项目中。

在程序集中,有一个System.Web.Extensions。

一旦完成,请:

    using System.Web;
    using System.Web.Script;
    using System.Web.Script.Serialization;

这对我很管用。