我已经使用Newtonsoft.Json将JSON对象转换为字符串,反之亦然。最近,我在https://docs.microsoft.com/en-gb/dotnet/api/system.text.json?view=netcore-3.0中读到了 System.Text.Json
。
我阅读了这篇文章,它比 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<Product>(jsonString);
答案 0 :(得分:0)
是的,可以。除非您遇到一些问题,否则没有人会阻止您。 但是在一个项目中会有一些指导原则,因此最好遵循这些指导原则,如果您要实施新的东西,最好与团队讨论然后实施。
答案 1 :(得分:0)
在System.Text.Json中默认情况下转义的HTML是一个区别示例。
空值和循环引用处理还有一些其他区别。
System.Text.Json从.NET Core 3.0开始不对字段进行序列化。
System.Json.Text不是Json.NET的一对一替代。