搜索了我的问题,没有找到答案,我有一个JSON文件,如下:
{
"handle":"ABCD",
"Tracks":{
"Design":{
"rating":402
},
"Development":{
"rating":1584,
"reliability":"n/a"
},
"Specification":{
"rating":923,
"reliability":"0.13"
},
"Conceptualization":{
"rating":895
}
}
}
我得到了JSON的动态对象:
dynamic dynObj;
dynObj = JsonConvert.DeserializeObject(content);
如何获得"曲目"项目的名称?我不知道有多少个标签,例如"设计",也不知道它们的名字...
在您的(动态)方案中,不要使用 dynamic
,因为您正在寻找有关该文档的架构信息,这是没有意义的,这通过动态模型而变得不可用。
因此,通过在JSON数据上调用JObject.Parse
获取JObject
。
然后,获取按键(取自JObject.Properties
文档):
foreach (var prop in myJObject.Properties())
{
//returns 'handle' and 'Tracks' for your root object
Console.WriteLine("{0} - {1}", prop.Name, prop.Value);
}
或使用JObject
的枚举器:
foreach (var kvp in myJOBject)
{
Console.WriteLine("{0} - {1}", kvp.Key, kvp.Value);
}