真正的问题是,您尝试反序列化为,
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)