命名空间System中不存在Json

时间:2012-10-12 12:41:13

标签: json asp.net-web-api .net-4.5

在本教程中:http://www.asp.net/web-api/videos/getting-started/custom-validation Jon使用

dynamic error = new JsonObject();

using System.Json;

我想这里是JsonObject:http://msdn.microsoft.com/en-us/library/system.json.jsonobject(v=vs.110).aspx位于:

  • 命名空间:System.Json
  • 程序集:System.Runtime.Serialization(在System.Runtime.Serialization.dll中)

我已将System.Runtime.Serialization添加为引用,但仍无法找到System.Json。

我读微软文档错了吗? (我正在使用.NET 4.5)

5 个答案:

答案 0 :(得分:31)

试试这个:

PM> Install-Package System.Json -Version 4.0.20126.16343

Per:http://nuget.org/packages/System.Json

有效!

如果您对如何添加输入nuget代码有疑问,请点击以下链接: http://docs.nuget.org/docs/start-here/using-the-package-manager-console

答案 1 :(得分:7)

http://www.webcosmoforums.com/asp/32551-type-namespace-name-json-does-not-exist-namespace-system-runtime-serialization.html

  

很可能您缺少对System.ServiceModel.Web

的引用

确保您的应用程序以项目属性中的.Net 4.5框架为目标。

System.Json对象仅在4.5

中可用

编辑:

使用Nuget安装system.json:'Install-Package System.Json'

How to parse JSON without JSON.NET library?

答案 2 :(得分:3)

Json对象仅适用于Controller类,而不适用于外部。即使我们在控制器外部引用System.Web.MVC,我们只能访问JsonResult而不能访问Json,因为Json对象是JsonResult的受保护对象。请参考以下文档解释,

http://msdn.microsoft.com/en-us/library/dd504936(v=vs.118).aspx

答案 3 :(得分:0)

如果要使用其他.Net json序列化程序,可以使用以下命令:

  1. 去管理nuget包。
  2. 搜索json.net。
  3. 点击安装。
  4. 有关详细信息,请按照 - http://netfx.codeplex.com/

    进行操作

答案 4 :(得分:-3)

使用System.json不适用于.Net 4框架。该库已弃用。 要检查它,请尝试:

  1. Go add reference ... to project。
  2. 在.Net选项卡上,搜索System.json,您将找不到任何。
  3. 这意味着,它已被弃用。