一、JSON序列化革命:System.Text.Json的架构优势
1.1 核心组件解析

1.2 性能基准测试(.NET 8)
操作 | Newtonsoft.Json | System.Text.Json | 性能提升 |
---|
简单对象序列化 | 1,200 ns | 450 ns | 2.7x |
大型对象反序列化 | 15 ms | 5.2 ms | 2.9x |
内存分配(1k次操作) | 45 MB | 12 MB | 3.75x |
二、基础序列化操作精解
2.1 基本序列化/反序列化
// 简单对象定义
public class Product
{public int Id { get; set; }public string Name { get; set; }public decimal Price { get; set; }
}// 序列化
var product = new Product { Id = 1, Name = "Laptop", Price = 999.99m };
string json = JsonSerializer.Serialize(product);// 反序列化
Product deserialized = JsonSerializer.Deserialize<Product>(json);
2.2 流式处理大文件
// 写入大型JSON
await using (var fs = File.Create("bigfile.json"))
{await JsonSerializer.SerializeAsync(fs, largeData);
}// 读取大型JSON
await using (var fs = File.OpenRead("bigfile.json"))
{var data = await JsonSerializer.DeserializeAsync<BigData>(fs);
}
三、高级配置与自定义
3.1 JsonSerializerOptions详解
var options = new JsonSerializerOptions
{PropertyNamingPolicy = JsonNamingPolicy.CamelCase, // 命名策略WriteInde