我試圖在Visual Studio 2012爲Windows 8 我有一些問題計劃在C#中的Windows運行時組件使用Json.NET反序列化JSON是這樣的:反序列化JSON與Json.NET在Windows 8 Store應用(C#)
{
"header": {
"id": 0,
"code": 0,
"hits": 10
},
"body": {
"datalist": [
{
"name": "",
"city": "",
"age": 0
},
{
"name": "",
"city": "",
"age": 0
},
{
"name": "",
"city": "",
"age": 0
}
]
}
}
我的目的是讓一個頂級字典出來,並將每個值解釋爲一個字符串。對於這個例子,你會得到一個包含兩個鍵(標題和正文)和字符串匹配值的字典。在此之後,你可以沿着樹下去。 這樣
Dictionary<string, string> jsonDict =
JsonConvert.DeserializeObject<Dictionary<string, string>>(json);
一個功能將是很好的,但是這一次只接受字符串值。 有沒有人知道如何忽略這些類型或以另一種方式獲取它?
而且擺脫身體值「{」數據列表「:[{‘Name’:‘’,...}]}」一詞典的列表。
在此先感謝!
好吧,我更喜歡動態的方式,因爲我不想提前創建課程。但是,你有沒有可能從中得到一份字典清單?我問,因爲從C#中的WinRT組件交換數據到(在我的情況下)JavaScript中,只有少數類型,如IList/IDictionary等。完整列表如下所示:[鏈接](http:// msdn。 microsoft.com/de-de/library/windows/apps/br230301.aspx#PassingToManaged)和JS我綁定在DataList(WinJS.Binding.List)和數據源連接到我的看法。所以我需要一個字典或JSON。有任何想法嗎? – tvelop
@tvelop JObject已經實現了'IDictionary',所以你可以使用它像一本字典。 'var jsonDict = JObject.Parse(json); var age = jsonDict [「body」] [「datalist」] [1] [「age」];' – I4V
好吧,在C#中,我可以像一個一樣使用它,但是我不能將JObject作爲IDictionary類型傳入我的JS部分。你知道一個解決方案,而不是按元素創建一個IDictionary元素嗎?最後,我想從C#中獲取JSON到我的JavaScript部分。尼斯將是一個字典,在這種情況下,兩個字符串(標題,正文)或另一個想法動態地將JSON映射到鍵上。 – tvelop