微软官方博客中描述了为什么构造了全新的Json解析器而不是继续使用行业准则Json.Net
微软博客地址:
在官方的Github中,也有关于此问题的详细描述:
简单说明就是.Net Core有一个Span<T>类,它类似于数组,但它不托管于堆上,因此提供了操作内存的高性能,这将对序列化和反序列化提供更高的性能。
官方API完整介绍
同时UTF-8和UTF-16也是微软考虑的一个点。
开始详细了解一下吧:
class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); string person = "[{\"name\":\"fanqi\",\"age\":25,\"phone\":[\"10086\",\"10010\"]},{\"name\":\"zhangrong\",\"age\":24,\"phone\":[\"10000\",\"10010\"]}]"; ListpersonList = JsonSerializer.Deserialize
>(person); string json = JsonSerializer.Serialize(personList, personList.GetType()); JsonDocument document = JsonDocument.Parse(person); Console.ReadKey(); } } class Person { public string name { get; set; } public int? age { get; set; } public List phone { get; set; } }