一尘不染

ASP.Net Core中的JSON序列化/反序列化

json

既然没有JavaScriptSerializer,可以使用什么本机实现来处理呢?

我注意到了,JsonResult并且可以使用此格式将数据格式化为JSON,但是如何反序列化?

或者,也许我缺少某些依赖项project.json


阅读 1246

收藏
2020-07-27

共1个答案

一尘不染

您可以使用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。

首先,请使用名称空间中的JsonSerializerSystem.Text.Json.Serialization。请参阅文档以获取信息和示例。

要在ASP.NET Core 3.0项目中使用Json.NET:

阅读Json.NET支持迁移从ASP.NET核心2.2至3.0的第二个预览版的详细信息。

2020-07-27