2016-07-23 72 views
0

我想在JSON中提取下面的鍵值對,以dictonary。Json.Net鍵/值對dictonary對象

var str = @" 
{ 
    ""tables"": { 
    ""category"": ""Category"", 
    ""subcategory"": ""SubCategory"", 
    ""tfs"": ""tfs"", 
    ""tickets"": ""snowtickets"", 
    ""ticketcategoryauto"": ""TicketCategoryAuto"", 
    ""ticketcategoryuserselected"": ""TicketCategoryManual"" 
    } 
} 
"; 


    var jo = JObject.Parse(str); 
    var x = from c in jo["tables"] select c; 

我想把這個Json的「tables」節點放到一個字典對象中。所以如果我說x [「category」]應該返回「Category」類似的其他鍵。我怎樣才能做到這一點。

+0

那麼這有什麼問題? – Rahul

+0

[我怎樣才能將JSON反序列化爲一個簡單的字典 in ASP.NET?](http://stackoverflow.com/questions/1207731/how-can-i-deserialize-json-to- a-simple-dictionarystring-string-in-asp-net) –

+0

@SirRufo謝謝!如何提取部分對象。只需要表節點。 –

回答

3

tables是一個字典型對象,因此您需要將其作爲Dictionary的類型返回。

var jo = JObject.Parse(str); 
Dictionary<string, string> values = jo["tables"].ToObject<Dictionary<string,string>>();