c# unity 在.Net 4.0中找不到JavaScriptSerializer




unity c# json (10)

我使用的是Visual Studio 2015,最后跑过这篇文章。

是的,以便使用

JavaScriptSerializer json = new JavaScriptSerializer();

您必须右键单击参考并在组装 - >框架选择下

System.Web.Extensions

然后添加您的参考

using System.Web.Script.Serialization;

我似乎无法找到JavaScriptSerializer对象,也没有找到Visual Studio 2010中的System.Web.Script.Serialization命名空间。我需要将某些东西序列化为JSON我应该使用什么?

是的,我已经在项目中包含了System.Web.Extensions (在System.Web.Extensions.dll中)。 这是为什么我感到震惊?

  • 我知道System.Web.Extensions在3.5中被标记为obsolete

using System.Web.Script.Serialization; 

在汇编中:System.Web.Extensions(System.Web.Extensions.dll)


从谷歌的第一个搜索结果:

JavaScriptSerializer

JavaScriptSerializer类

为支持AJAX的应用程序提供序列化和反序列化功能。

继承层次结构

System.Object的

System.Web.Script.Serialization.JavaScriptSerializer

命名空间:System.Web.Script.Serialization

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

因此, System.Web.Extensions.dll作为参考。


你可以使用其他选项是NewtonsoftJASON,你可以从NuGet Package Manager安装它。工具>> Nuget PacakgeManager


  1. 右键单击ReferencesAdd Reference ,然后从Assemblies->Framework选择System.Web.Extensions
  2. 现在您应该可以将以下内容添加到您的类文件中:
    using System.Web.Script.Serialization;

对于那些似乎遵循上述答案但仍然存在问题的人(例如,请参阅关于海报问题的第一条评论):

您可能正在与许多项目合作。 您似乎在工作的项目引用了其他项目,但您实际上是从其他项目之一修改文件。 例如:

  • 项目引用System.Web.Extensions
  • 项目参考项目B

但是,如果修改为使用System.Web.Script.Serialization的文件位于项目B中,则还需要在项目B中添加对System.Web.Extension的引用。


这是如何在您的应用程序中使用JavaScriptSerializer,目标是.NET 4.0 (完整版)

using System.Web.Script.Serialization;

这应该允许你创建一个新的JavaScriptSerializer对象!


您必须添加对该项目的引用。

在Assemblies中,有一个System.Web.Extensions添加。

一旦完成,就把:

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

这对我有效。


检查是否包含.net 4版本的System.Web.Extensions - 还有一个3.5版本,但我不认为它有效。

这些步骤适用于我:

  1. 创建新的控制台应用程序
  2. 将目标更改为.net 4而不是客户端配置文件
  3. 添加对System.Web.Extensions (4.0)的引用
  4. 现在可以访问Program.cs中的JavaScriptSerializer :-)

你的目标是.NET 4框架还是.NET 4客户端配置文件?

如果你的目标是后者,你不会找到那个班。 你也可能会错过一个引用,可能是一个扩展DLL。







jsonserializer