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

C#如何正确填充List集合 生成符合指定结构的JSON数据

问题原因及修正方案

核心错误点

  • 类型不匹配:MyRootClass的AA、BB属性均为List<>集合类型,原有代码直接赋值单个类对象,不符合类型要求
  • 类型转换错误:AAClass的value属性为DateTime类型,不能直接传入字符串,需要显式转换为DateTime类型
  • 容器定义错误:你期望的JSON结构是单个MyRootClass对象,而非MyRootClass集合,不需要声明List<MyRootClass>类型的myData

正确代码实现

void Main()
{
    // 直接声明单个MyRootClass对象即可匹配你需要的JSON结构
    var myData = new MyRootClass()
    {
        AA = new List<AAClass>()
        {
            new AAClass { ts = 1636862399574, value = DateTime.Parse("2021-11-14 00:57:25.049983") },
            new AAClass { ts = 1636862398995, value = DateTime.Parse("2021-11-14 00:57:24.049979") }
        },
        BB = new List<BBClass>()
        {
            new BBClass { ts = 1636862399574, value = "16183.8" },
            new BBClass { ts = 1636862398995, value = "16250.8" }
        }
    };
    
    // 如果你确实需要List<MyRootClass>类型的变量,可以按以下方式添加
    // var myDataList = new List<MyRootClass>();
    // myDataList.Add(myData);
}

额外说明

使用System.Text.Json或者Newtonsoft.Json序列化上述myData对象,输出结果会完全匹配你提供的JSON结构,序列化时会自动把DateTime类型的value属性转为你需要的字符串格式,如果你需要自定义日期格式,可以在序列化配置中指定DateFormatString参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:24:08