使用JSON.net获取JToken的名称/密钥
我有一些看起来像这样的JSON
[ {
"MobileSiteContent": {
"Culture": "en_au",
"Key": [
"NameOfKey1"
]
}
},
{
"PageContent": {
"Culture": "en_au",
"Page": [
"about-us/"
]
}
}
]
我将其解析为JArray:
var array = JArray.Parse(json);然后,我遍历数组:
foreach (var content in array){
}
content 是一个 JToken
如何检索每个项目的“名称”或“键”?
例如,“ MobileSiteContent”或“ PageContent”
回答:
JToken是基类JObject,JArray,JProperty,JValue,等你可以使用Children<T>()的方法来获得JToken的孩子是某种类型的过滤列表,例如JObject。每个对象JObject都有一个JProperty对象集合,可以通过Properties()方法访问这些对象。对于每个JProperty,您都可以得到它Name。(当然,Value如果需要,您也可以获取,这是另一个JToken。)
放在一起,我们有:
JArray array = JArray.Parse(json);foreach (JObject content in array.Children<JObject>())
{
foreach (JProperty prop in content.Properties())
{
Console.WriteLine(prop.Name);
}
}
输出:
MobileSiteContentPageContent
以上是 使用JSON.net获取JToken的名称/密钥 的全部内容, 来源链接: utcz.com/qa/399244.html

