You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将List<Model>转换为自定义JSON?ASP.NET Core新手求助

解决List转JSON字符串的问题

看起来你已经走了大部分流程啦,只是最后一步的JSON序列化设置没写完对吧?我来帮你补全并梳理正确的做法:

1. 先确认依赖包是否安装

你用到的JsonConvert来自Newtonsoft.Json(也就是大家常说的Json.NET),如果项目还没安装这个包,得先补上:

  • 用NuGet包管理器搜索安装Newtonsoft.Json
  • 或者用.NET CLI命令:
dotnet add package Newtonsoft.Json

2. 规范你的模型与序列化代码

你的模型定义没问题,我帮你补全完整的序列化逻辑:

模型代码(可以加上public修饰符让访问权限更清晰)

public class Developers
{
    public int Id { get; set; }
    public string Name { get; set; }
}

完整的List初始化与序列化代码

// 初始化List并添加数据
List<Developers> list = new List<Developers>();
list.Add(new Developers() { Id = 1, Name = "Senura" });
// 可以多添加一条测试数据
list.Add(new Developers() { Id = 2, Name = "Alice" });

// 完成JSON序列化,处理空值并生成字符串
var json = JsonConvert.SerializeObject(
    list,
    Formatting.None, // 如果想要易读的格式化JSON,改成Formatting.Indented
    new JsonSerializerSettings
    {
        NullValueHandling = NullValueHandling.Ignore // 忽略模型中的空值属性,避免JSON里出现冗余的null字段
    }
);

3. 序列化结果示例

执行后json变量的内容会是:

[{"Id":1,"Name":"Senura"},{"Id":2,"Name":"Alice"}]

如果用Formatting.Indented,会生成格式化后的版本:

[
  {
    "Id": 1,
    "Name": "Senura"
  },
  {
    "Id": 2,
    "Name": "Alice"
  }
]

额外小提示:用.NET原生序列化方案

如果你不想依赖第三方包,.NET Core 3.0+自带了System.Text.Json,用法也很简单:

using System.Text.Json;

var json = JsonSerializer.Serialize(
    list,
    new JsonSerializerOptions
    {
        IgnoreNullValues = true,
        WriteIndented = false // true对应格式化输出
    }
);

内容的提问来源于stack exchange,提问作者Senura Dissanayake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:38:25