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

如何在C#中将JSON数组反序列化为List集合?

解决JSON数组反序列化为List集合的问题

核心修改思路

你之前的代码是针对单个JSON对象反序列化的,现在要处理JSON数组,只需要把反序列化的目标类型从单个模型类改成List<你的模型类>即可,具体步骤如下:


  1. 确认数据模型类与JSON字段匹配
    假设你的数据模型类是这样的(根据实际JSON结构调整属性):
public class YourDataModel
{
    // 示例属性,替换成你实际的字段
    public int Id { get; set; }
    public string Title { get; set; }
    public decimal Price { get; set; }
}

如果JSON里的字段名和类的属性名不一致,用[JsonPropertyName]特性做映射:

public class YourDataModel
{
    [JsonPropertyName("goods_id")]
    public int Id { get; set; }
    [JsonPropertyName("goods_title")]
    public string Title { get; set; }
}
  1. 修改反序列化代码
    原来的错误代码(针对单个对象):
// 错误:用单个对象接收数组,会抛出JsonException
var result = JsonSerializer.Deserialize<YourDataModel>(jsonContent);

修改后的正确代码(接收数组为List集合):

// 正确:用List<T>接收JSON数组
var modelList = JsonSerializer.Deserialize<List<YourDataModel>>(jsonContent);
  1. 可选:配置反序列化选项
    如果需要忽略大小写、处理空值等,可以传入JsonSerializerOptions:
var options = new JsonSerializerOptions
{
    PropertyNameCaseInsensitive = true, // 忽略字段名大小写
    IgnoreNullValues = true // 忽略JSON中的空值字段
};
var modelList = JsonSerializer.Deserialize<List<YourDataModel>>(jsonContent, options);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 16:22:14