所以我有一个看起来像这样的Json文件
{
"Item":[
"name": {
"type": "value",
"type2": "value",
"0":{
"InnerType1":"innerValue",
"InnerType2":"innerValue",
"InnerType3":"innerValue",
},
"1":{
"InnerType1":"innerValue",
"InnerType2":"innerValue",
"InnerType3":"innerValue",
}
},"name2": {
"type": "value",
"type2": "value",
"0":{
"InnerType1":"innerValue",
"InnerType2":"innerValue",
"InnerType3":"innerValue",
}
},"name3": {
"type": "value",
"type2": "value",
"0":{
"InnerType1":"innerValue",
"InnerType2":"innerValue",
"InnerType3":"innerValue",
},
"1":{
"InnerType1":"innerValue",
"InnerType2":"innerValue",
"InnerType3":"innerValue",
},
"2":{
"InnerType1":"innerValue",
"InnerType2":"innerValue",
"InnerType3":"innerValue",
}
},
]
}
我的问题是“0”,“1”和“2”因为它们并不总是出现在我的数据中,也许有一次我会有42个这种类型的条目。 “0”,“1”和“2”获得完全相同的内部类型但不是相同的值。
所以任何人都有一个想法,因为我只有一个手动反序列,一个for迭代0到x,当我没有数字时停止,但它不是一个好主意。
谢谢你,祝你有个美好的一天
答案 0 :(得分:0)
只需使用此功能,您无需担心Json密钥
IDictionary<string, JToken> jsondata = JObject.Parse(json);
foreach (KeyValuePair<string, JToken> innerData in jsondata) {
Console.WriteLine("{0}=> {1}",innerData.Key, innerData.Value.ToString());
}
JToken是JObject,JArray,JProperty的基类,因此JToken可以轻松处理这些类型