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

C#中JSON转List报错:无法将JSON对象反序列化为List<Template>

问题分析与修复方案

错误原因

你的JSON字符串是单个Template对象(外层为{}),但反序列化代码却试图将其转换为List<Template>(该类型要求JSON外层为数组格式[]),导致根层级类型不匹配,触发反序列化错误。

修复方法

方案1:修改反序列化代码(推荐)

直接将反序列化目标类型改为Template,若业务需要列表可手动包装:

// 假设templateData是你的JSON字符串变量
Template template = JsonConvert.DeserializeObject<Template>(templateData.ToString());
// 如需存入列表
List<Template> lstData = new List<Template> { template };

方案2:修改JSON为数组格式

如果业务逻辑必须反序列化为列表,将JSON外层改为数组包裹:

[{"Headers":[{"KeyValue":"Hello AA"},{"KeyValue":"Hello BB"}],"Footers":[{"KeyValue":"Wifi Password : 11112222"}]}]

此时原反序列化代码可正常执行:

List<Template> lstData = JsonConvert.DeserializeObject<List<Template>>(templateData.ToString());

补充说明

你的实体类定义完全正确,Headers和Footers的列表类型与JSON内的数组结构匹配,问题仅出在根层级的类型不匹配上。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:10:32