2013-12-17 23 views
0

所以我有一個JSON文件看起來像這樣反序列化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」具有完全相同的內部類型但不是相同的值。

所以任何人有一個想法,只有一個我有一個手動deserialise與for迭代0到x和停止時,我沒有數字,但它不是一個好主意。

謝謝你,有一個美好的一天

回答

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輕鬆處理