2014-03-03 33 views
0

檢索數據我有這樣一個一個JObject:從JObject

{ 
    "111": { 
    "Group": 1, 
    "Category": 1 
    }, 
    "005": { 
    "Group": 1, 
    "Category": 1 
    } 
} 
    base {Newtonsoft.Json.Linq.JContainer}: { 
    "111": { 
    "Group": 1, 
    "Category": 1 
    }, 
    "005": { 
    "Group": 1, 
    "Category": 1 
    } 
} 

我需要枚舉,對於第一級對象的每個屬性(例如,用於「111」),它們的屬性列表。 例如,寫出來:
111:組,類別
005:組,類別

我發現,在第一級的屬性,像這樣:

List<string> keys = myJO.Properties().Select(p => p.Name).ToList(); 

但對於嵌套的屬性?

回答

0

你在正確的軌道上。試試這個:

string json = @" 
{ 
    ""111"": { 
    ""Group"": 1, 
    ""Category"": 1 
    }, 
    ""005"": { 
    ""Group"": 1, 
    ""Category"": 1 
    } 
}"; 

JObject myJO = JObject.Parse(json); 
foreach (JProperty prop in myJO.Properties()) 
{ 
    JObject childJO = (JObject)prop.Value; 
    List<string> keys = childJO.Properties().Select(p => p.Name).ToList(); 
    Console.WriteLine(prop.Name + ": " + string.Join(", ", keys)); 
} 

輸出:

111: Group, Category 
005: Group, Category