.NET中将List转换为JSON推荐使用System.Text.Json或Newtonsoft.Json。1. System.Text.Json为.NET原生库,无需额外安装,通过JsonSerializer.Serialize方法可将字符串或对象集合转为JSON,如List转为["apple","banana"],Person对象列表转为[{"Name":"Alice","Age":30}]格式;2. Newtonsoft.Json需安装NuGet包,使用JsonConvert.SerializeObject实现相同功能,支持更灵活的序列化配置;注意类型需可序列化,可借助[JsonIgnore]等特性控制字段,新项目建议优先选用System.Text.Json。

.NET 中将 List 集合转换为 JSON 字符串非常简单,主要使用 System.Text.Json(.NET Core 3.0+ 推荐)或 Newtonsoft.Json(第三方库,也叫 Json.NET)来实现。以下是两种常用方法:
使用 System.Text.Json(原生支持)
这是 .NET 5 及以上版本推荐的方式,无需额外安装包(.NET Core 3.0+ 默认包含)。示例代码:
using System; using System.Collections.Generic; using System.Text.Json; var list = new List{ "apple", "banana", "orange" }; string jsonString = JsonSerializer.Serialize(list); Console.WriteLine(jsonString); // 输出:["apple","banana","orange"]
如果是对象集合:
本文档主要讲述的是JSON.NET 简单的使用;JSON.NET使用来将.NET中的对象转换为JSON字符串(序列化),或者将JSON字符串转换为.NET中已有类型的对象(反序列化?)。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
var people = new List
{
new Person { Name = "Alice", Age = 30 },
new Person { Name = "Bob", Age = 25 }
};
string json = JsonSerializer.Serialize(people);
Console.WriteLine(json); // 输出:[{"Name":"Alice","Age":30},{"Name":"Bob","Age":25}]
使用 Newtonsoft.Json(最流行第三方库)
需要先通过 NuGet 安装:Install-Package Newtonsoft.Json示例代码:
using Newtonsoft.Json;
var list = new List { 1, 2, 3, 4, 5 };
string jsonString = JsonConvert.SerializeObject(list);
Console.WriteLine(jsonString); // 输出:[1,2,3,4,5]
对象集合同样适用:
string json = JsonConvert.SerializeObject(people); Console.WriteLine(json);
注意事项
- 确保集合中的类型是可序列化的(如基本类型、POCO 类)
- 如果属性有私有字段或需要忽略某些字段,可以使用 [JsonIgnore] 或 [JsonProperty]
- System.Text.Json 默认区分大小写且只序列化 public 属性,行为更严格
- 如需格式化输出,可传入选项:JsonSerializer.Serialize(list, new JsonSerializerOptions { WriteIndented = true })









