由于没有 JavaScriptSerializer
,有哪些本地实现可以用来处理这个问题?
我注意到了 JsonResult
,可以使用它来将数据格式化为 JSON,但是如何反序列化呢?
或者我在 project.json
中缺少一些依赖吗?
由于没有 JavaScriptSerializer
,有哪些本地实现可以用来处理这个问题?
我注意到了 JsonResult
,可以使用它来将数据格式化为 JSON,但是如何反序列化呢?
或者我在 project.json
中缺少一些依赖吗?
Newtonsoft.Json
,它是 Microsoft.AspNet.Mvc.ModelBinding
的依赖项,而该模块是 Microsoft.AspNet.Mvc
的依赖项。因此,你不需要在你的project.json中添加依赖项。#using Newtonsoft.Json
....
JsonConvert.DeserializeObject(json);
请注意,使用WebAPI控制器时,您无需处理JSON。
Json.NET已从ASP.NET Core 3.0共享框架中删除。
您可以在高性能的 Utf8JsonReader
和 Utf8JsonWriter
之上使用新的JSON序列化器层。它将对象从JSON反序列化,并将对象序列化为JSON。内存分配保持最小,并包括支持异步读取和写入JSON的流的功能。
要开始,请使用 System.Text.Json.Serialization
命名空间中的 JsonSerializer
类。有关信息和示例,请参见文档。
要在ASP.NET Core 3.0项目中使用Json.NET:
services.AddMvc()
.AddNewtonsoftJson();
阅读Migrate from ASP.NET Core 2.2 to 3.0 Preview 2中的Json.NET支持,了解更多信息。
.NET Core
使用 System.Text.Json;
###序列化
var jsonStr = JsonSerializer.Serialize(MyObject)
###反序列化
var weatherForecast = JsonSerializer.Deserialize<MyObject>(jsonStr);
了解有关排除属性和 null 的更多信息,请查看此 Microsoft 网站
Microsoft.AspNetCore.Mvc.Formatters.Json
依赖于Microsoft.AspNetCore.JsonPatch
,而后者又依赖于Newtonsoft.Json
9.0.1版本。详情可见以下链接:https://www.nuget.org/packages/Microsoft.AspNetCore.Mvc.Formatters.Json/ 和 https://www.nuget.org/packages/Microsoft.AspNetCore.JsonPatch/。 - agua from mars