gpt4 book ai didi

c# - 如何解析嵌套的JSON数据结构

转载 作者:太空狗 更新时间:2023-10-30 00:07:16 26 4
gpt4 key购买 nike

在 Windows Phone 应用程序中,我需要解析 JSON 数据。我能够获取未嵌套的键的值。但是,如果 JSON 在数组中包含数组,那么我该如何从 JSON 文件中提取值?

过去我所做的是将JSON解析成JArray对象,然后从JToken中获取指定字符串键的值。

在下面的JSON中,peoplemenwomen,而men本身有很多不同的男人身份证。因此,如果我将这个完整的东西作为 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
}
]
}
]
}

最佳答案

从顶级 JToken,您可以使用 SelectToken() 导航到包含您感兴趣的数据的 JArray :

JToken token = JToken.Parse(json);
JArray men = (JArray)token.SelectToken("people[0].men");

从那里您可以像往常一样处理 JArray:

foreach (JToken m in men)
{
Console.WriteLine("id: " + m["id"]);
Console.WriteLine("name: " + m["name"]);
Console.WriteLine("age: " + m["age"]);
Console.WriteLine();
}

women 数组也是一样,除了 SelectToken() 路径是 people[1].women

演示: https://dotnetfiddle.net/7BoiUO

关于c# - 如何解析嵌套的JSON数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26992587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com