Sha*_*ani 4 c# json json.net windows-phone-8.1
在Windows Phone应用程序中,我需要解析JSON数据.我能够获得未嵌套的键的值.但是如果JSON在数组中有数组,那么如何从JSON文件中提取值呢?
在过去,我所做的是将JSON解析为JArray对象,然后从JToken获得指定字符串键的值.
在下面的JSON中,people有men和women,并且men本身有许多具有不同ID的人.因此,如果我将这个完整的东西作为JSON字符串,我如何打印特定人的ID的值?如果这里没有嵌套数组,我本可以转换为JArray并访问索引值,但现在该怎么做?
这是我的JSON:
{
"people": [
{
"men": [
{
"id": 0,
"name": "alex",
"age": 25
},
{
"id": 1,
"name": "bob",
"age": 26
},
{
"id": 2,
"name": "charlie",
"age": 27
}
]
},
{
"women": [
{
"id": 0,
"name": "alexys",
"age": 25
},
{
"id": 1,
"name": "bethany",
"age": 26
},
{
"id": 2,
"name": "catherine",
"age": 27
}
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
Bri*_*ers 10
从顶层JToken,您可以使用SelectToken()导航到JArray包含您感兴趣的数据:
JToken token = JToken.Parse(json);
JArray men = (JArray)token.SelectToken("people[0].men");
Run Code Online (Sandbox Code Playgroud)
从那里你可以JArray像往常一样处理:
foreach (JToken m in men)
{
Console.WriteLine("id: " + m["id"]);
Console.WriteLine("name: " + m["name"]);
Console.WriteLine("age: " + m["age"]);
Console.WriteLine();
}
Run Code Online (Sandbox Code Playgroud)
女性阵列也是如此,除了SelectToken()路径people[1].women.
演示: https ://dotnetfiddle.net/7BoiUO
| 归档时间: |
|
| 查看次数: |
15343 次 |
| 最近记录: |