信息发布→ 登录 注册 退出

.NET怎么将List集合转换为JSON字符串

发布时间:2025-11-15

点击量:
.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"]

如果是对象集合:

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 })
基本上就这些,选择哪种方式取决于你的项目环境和需求。新项目建议优先使用 System.Text.Json。
标签:# 序列化  # 哪种  # 如需  # 可将  # 可以使用  # 推荐使用  # 两种  # 这是  # 转换为  # 第三方  # js  # 对象  # public  # 字符串  # String  # .net  # 格式化输出  # apple  # app  # json  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!