以下是 C# 中常见 JSON 库的对比(包括 Newtonsoft.Json、System.Text.Json、Utf8Json、Jil、ServiceStack.Text),并附上等效的序列化/反序列化代码示例。
1. Newtonsoft.Json (Json.NET)
-
特点
- 功能最全面,支持动态类型、多态序列化、循环引用等复杂场景。
- 灵活的配置选项(如忽略空值、自定义转换器)。
- 性能中等,适用于大多数通用场景。
-
代码示例
// 序列化 var obj = new { Name = "Alice", Age = 30 }; string json = JsonConvert.SerializeObject(obj, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, Formatting = Formatting.Indented }); // 反序列化 var result = JsonConvert.DeserializeObject<MyClass>(json);
2. System.Text.Json (官方库)
-
特点
- 高性能(基于 Span 和 Utf8JsonReader/Writer)。
- 内存占用低,适合高并发场景。
- 功能逐步完善(.NET 7+ 支持更多特性如多态序列化)。
-
代码示例
// 序列化 var obj = new MyClass { Name = "Alice", Age =