将JSON反序列化为对象时出错

将JSON反序列化为对象时出错,第1张

将JSON反序列化为对象时出错

真正的问题是,您尝试反序列化为,

List<object>
但是JSON实际上代表一个包含
data
属性的单个对象,该属性随后包含一个对象列表。这就是为什么您会收到此错误。Json.Net无法将单个对象反序列化为列表。我认为您真正想要做的就是定义一个这样的容器类:

class Root{    public List<Dictionary<string, object>> Data { get; set;}}

然后像这样反序列化:

var data = JsonConvert.DeserializeObject<Root>(jsonData).Data;

然后,您将获得一个字典列表,其中每个字典代表JSON数组中的一项。字典键值对是每个项目中的动态值。然后,您可以像处理其他任何词典一样使用它们。例如,这是转储所有数据的方式:

foreach (var dict in data){    foreach (var kvp in dict)    {        Console.WriteLine(kvp.Key + ": " + kvp.Value);    }    Console.WriteLine();}

小提琴:https :
//dotnetfiddle.net/6UaKhJ



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5090159.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存