.NET怎么将List集合转换为JSON字符串_List转JSON方法解析

来源:这里教程网 时间:2026-02-21 17:29:21 作者:

.NET 中将 List 集合转换为 JSON 字符串非常常见,尤其在 Web API 开发或数据序列化场景中。实现方式主要依赖于内置的 System.Text.Json(.NET Core 3.0+ 推荐)或第三方库如 Newtonsoft.Json。下面详细介绍两种主流方法。

使用 System.Text.Json(.NET 内置)

.NET 5 及以上版本默认使用 System.Text.Json,无需额外安装包。它性能高、安全性好,是官方推荐方式。

引入命名空间:
using System.Text.Json;
调用
JsonSerializer.Serialize()
方法即可将 List 转为 JSON 字符串

示例代码:

var list = new List<string> { "apple", "banana", "orange" };
string json = JsonSerializer.Serialize(list);
// 输出:["apple","banana","orange"]

复杂对象示例:

public class Person 
{
    public string Name { get; set; }
    public int Age { get; set; }
}
var people = new List<Person>
{
    new Person { Name = "Alice", Age = 25 },
    new Person { Name = "Bob", Age = 30 }
};
string json = JsonSerializer.Serialize(people);
// 输出:[{"Name":"Alice","Age":25},{"Name":"Bob","Age":30}]

使用 Newtonsoft.Json(第三方库)

Newtonsoft.Json(又称 Json.NET)功能强大,兼容性好,广泛用于旧项目或需要高级功能的场景。需通过 NuGet 安装:

Install-Package Newtonsoft.Json

引入命名空间:
using Newtonsoft.Json;
使用
JsonConvert.SerializeObject()
方法

示例代码:

string json = JsonConvert.SerializeObject(list);
// 同样输出:["apple","banana","orange"]
string jsonPeople = JsonConvert.SerializeObject(people);
// 输出格式同上

该库支持更多选项,比如格式化输出、忽略空值等:

string json = JsonConvert.SerializeObject(people, Formatting.Indented);

注意事项与建议

选择哪种方式取决于项目环境:

新项目推荐使用 System.Text.Json,性能更好,集成更紧密 若需处理特殊类型(如
DataTable
JObject
)或复杂序列化规则,可继续使用 Newtonsoft.Json
注意类属性必须是公开的 getter/setter,否则可能无法正确序列化 日期格式、大小写转换等可通过序列化选项配置

基本上就这些。List 转 JSON 在 .NET 中非常直接,关键是选对工具并了解基本用法。

相关推荐