我有一个像这样的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 :(得分: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