我有一些看起来像这样的JSON
[
{
"MobileSiteContent": {
"Culture": "en_au",
"Key": [
"NameOfKey1"
]
}
},
{
"PageContent": {
"Culture": "en_au",
"Page": [
"about-us/"
]
}
}
]
Run Code Online (Sandbox Code Playgroud)
我将其解析为JArray:
var array = JArray.Parse(json);
Run Code Online (Sandbox Code Playgroud)
然后,我循环遍历数组:
foreach (var content in array)
{
}
Run Code Online (Sandbox Code Playgroud)
content 是一个 JToken
如何检索每个项目的"名称"或"密钥"?
例如,"MobileSiteContent"或"PageContent"
Bri*_*ers 113
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);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
MobileSiteContent
PageContent
Run Code Online (Sandbox Code Playgroud)
小智 20
JObject的默认迭代器是一个迭代键/值对的字典.
JObject obj = JObject.Parse(response);
foreach (var pair in obj) {
Console.WriteLine (pair.Key);
}
Run Code Online (Sandbox Code Playgroud)
小智 19
JObject obj = JObject.Parse(json);
var attributes = obj["parent"]["child"]...["your desired element"].ToList<JToken>();
foreach (JToken attribute in attributes)
{
JProperty jProperty = attribute.ToObject<JProperty>();
string propertyName = jProperty.Name;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
113429 次 |
| 最近记录: |