繁体   English   中英

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

[英]JSON serialization/deserialization in ASP.Net Core

由于没有JavaScriptSerializer ,可以使用什么本机实现来处理这个问题?

我注意到JsonResult并且我可以用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 核心 3.0

Json.NET已从 ASP.NET Core 3.0 共享框架中删除。

您可以在高性能Utf8JsonReaderUtf8JsonWriter之上使用新的 JSON 序列化器层。 它从 JSON 反序列化对象并将对象序列化为 JSON。 内存分配保持最小,并支持异步读取和写入 JSON 与 Stream。

首先,使用System.Text.Json.Serialization命名空间中的JsonSerializer类。 有关信息和示例,请参阅文档

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

    services.AddMvc()
        .AddNewtonsoftJson();

阅读从 ASP.NET Core 2.2 迁移到 3.0 预览版 2 中的Json.NET 支持以了解更多信息。

.net核心

using System.Text.Json;

序列化

var jsonStr = JsonSerializer.Serialize(MyObject)

反序列化

var weatherForecast = JsonSerializer.Deserialize<MyObject>(jsonStr);

有关排除属性和空值的更多信息,请查看Microsoft 端

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM