ASP.Net Core中的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。
更新ASP.Net Core 3.0
Json.NET已从ASP.NET
Core 3.0共享框架中删除。
您可以在高性能Utf8JsonReader
和之上使用新的JSON序列化器层Utf8JsonWriter
。它从JSON反序列化对象并将对象序列化为JSON。内存分配保持最少,并包括支持使用Stream异步读取和写入JSON。
首先,请使用名称空间中的JsonSerializer
类System.Text.Json.Serialization
。请参阅文档以获取信息和示例。
要在ASP.NET Core 3.0项目中使用Json.NET:
- 添加对Microsoft.AspNetCore.Mvc.NewtonsoftJson的程序包引用
- 更新ConfigureServices以调用AddNewtonsoftJson()。
services.AddMvc()
.AddNewtonsoftJson();
阅读Json.NET支持的迁移从ASP.NET核心2.2至3.0的第二个预览版的详细信息。
以上是 ASP.Net Core中的JSON序列化/反序列化 的全部内容, 来源链接: utcz.com/qa/433313.html