.NET 5.0 最近发布了,并带来了许多新特性和性能改进。System.Text.Json 也不例外。我们改进了性能和可靠性,并使熟悉 Newtonsoft.Json 的人更容易采用它。在这篇文章中,我将讨论 System.Text.Json 所取得的进展,以及接下来会发生什么。

获取库

      • 如果你的项目是针对 .NET 5 的,安装 .NET 5,System.Text.Json 是开箱即用的,没有任何其他先决条件。

      • 如果你的项目目标是 .NET Core 3.x 或 .NET Framework,或者如果你正在编写一个 .NET Standard 兼容库,请安装最新的 System.Text.Json NuGet 包。

      • 如果您正在启动一个新的 ASP.NET Core 项目或从 ASP.NET Core 2.2 升级到3.0或5.0,System.Text.Json 是默认的序列化库。

System.Text.Json 是什么

  System.Text.Json 是 .NET 内置的 JSON 序列化库,用于将 .NET 对象类型转换为 JSON 字符串,反之亦然,支持 UTF-8 文本编码。它最初是在 .NET Core 3.0 中添加的。库中的一种流行类型是 JsonSerializer,它为处理 JSON 数据提供最高级的功能。下面是一个简单的例子,如何使用它来序列化和反序列化:

using System;
using System.Text.Json;
​
MyType obj = new() { Message = "Hello World!" };
​
string json = JsonSerializer.Serialize(obj);
Console.WriteLine(json); // {"Message":"Hello World!"}
​
MyType anotherObject = JsonSerializer.Deserialize<MyType>("{"Message":"Hello Again."}");
Console.WriteLine(anotherObject.Message); // "Hello Again."
public class MyType
{
    public string Message { get; set; }
}
02-11 21:43