2016-07-23 2 views
0

아래의 키 - 값 쌍을 JSON에서 dictonary로 추출하려고합니다.Json.Net 키/값 쌍성 객체와의 쌍

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의 "테이블"노드를 사전 개체로 지정합니다. 그래서 x [ "category"]가 다른 키들과 마찬가지로 "Category"를 다시 얻어야한다고 말하면됩니다. 어떻게해야합니까?

+0

그래서 무엇이 문제입니까? – Rahul

+0

[간단한 사전에 JSON을 deserialize 할 수있는 방법은 무엇입니까? in ASP.NET?] (https://stackoverflow.com/questions/1207731/how-can-i-deserialize-json-to- a-simple-dictarystring-string-in-asp-net) –

+0

@SirRufo 감사합니다! 부분 객체를 어떻게 추출 할 수 있습니까? 테이블 노드 만 있으면됩니다. –

답변

3

tables은 사전 형 개체이므로 Dictionary 유형으로 반환해야합니다.

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