使用System.Text.Json(.netcore-3.0)代替Newtonsoft.Json的扩展功能是什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用System.Text.Json(.netcore-3.0)代替Newtonsoft.Json的扩展功能是什么?相关的知识,希望对你有一定的参考价值。

我已经使用Newtonsoft.Json将JSON对象转换为字符串,反之亦然。最近,我在System.Text.Json中读到有关https://docs.microsoft.com/en-gb/dotnet/api/system.text.json?view=netcore-3.0的信息。

我阅读了这篇文章,它比Newtonsoft.Json更快。

使用Newtonsoft.Json;

using Newtonsoft.Json;
Product product = new Product();    
product.Name = "Apple";
product.ExpiryDate = new DateTime(2008, 12, 28);
product.Sizes = new string[]  "Small", "Medium", "Large" ;    
string output = JsonConvert.SerializeObject(product);
//
//  "Name": "Apple",
//  "ExpiryDate": "2008-12-28T00:00:00",
//  "Sizes": [
//    "Small",
//    "Medium",
//    "Large"
//  ]
//

Product deserializedProduct = JsonConvert.DeserializeObject<Product>(output);

使用System.Text;

using System.Text.Json;
using System.Text.Json.Serialization;

Product product = new Product();    
product.Name = "Apple";
product.ExpiryDate = new DateTime(2008, 12, 28);
product.Sizes = new string[]  "Small", "Medium", "Large" ; 
string jsonString = JsonSerializer.Serialize(product);

var objproduct = JsonSerializer.Deserialize<WeatherForecast>(jsonString);
答案
是,可以。除非您遇到一些问题,否则没有人会阻止您。但是在一个项目中会有一些准则,因此最好遵循准则,如果您要实施新的东西,最好与团队讨论然后再实施。

以上是关于使用System.Text.Json(.netcore-3.0)代替Newtonsoft.Json的扩展功能是什么?的主要内容,如果未能解决你的问题,请参考以下文章

使用 System.Text.Json 修改 JSON 文件

如何在反序列化之前使用 System.Text.Json 验证 JSON

(de) 使用 System.Text.Json 序列化流

使用 System.Text.Json 转换不一致的 json 值 [重复]

使用 .NET core 3.0/System.text.Json 解析 JSON 文件

使用 System.Text.Json 序列化 BigInteger