c# - 循环遍历 JObject 嵌套数组
问题描述
我无法弄清楚如何通过这个 JObject 来检索运行下的 id 属性。
我有以下代码,它将成功地为我提供条目下的 id 属性,但是如何再次嵌套它以进入运行部分并获取这些 ID?
JSON:
{
"id": 168,
"name": "section 1",
"entries": [
{
"id": "908-9876-908",
"suite_id": 15,
"name": "List 1",
"runs": [
{
"id": 169,
"suite_id": 15
}
]
},
{
"id": "998-4344-439",
"suite_id": 16,
"name": "List 2",
"runs": [
{
"id": 170,
"suite_id": 16
}
]
}
]
}
C#代码:
JObject obj = JsonConvert.DeserializeObject<JObject>(response);
foreach (JObject id in obj["entries"])
{
string returnable = (string)id["id"];
Console.WriteLine(returnable);
}
我曾尝试查看 ["entries"]["runs"] 但这也不起作用。
打印出来的是:
908-9876-908
998-4344-439
我想要的是
169
170
解决方案
您可以使用以下代码实现它
var jsonObject = JObject.Parse(json);
foreach (var entry in jsonObject["entries"])
{
foreach (var run in entry["runs"])
{
string returnable = (string)run["id"];
Console.WriteLine(returnable);
}
}
你想看
169
170
它们是id
来自runs
数组的值,因此您应该在内部循环中枚举它们。之后你还漏掉了一个逗号"name": "section 1"
推荐阅读
- python-3.x - OpenCV - 设置更高数量的线程视频流会导致流断开连接
- apache-kafka - 运行 Kafka Connect S3 源连接器的 ClassNotFound 异常
- node.js - 填充以加入 Mongodb 中的两个集合获取空数据
- php - 调用未定义的方法 Illuminate\Database\Eloquent\Builder::links()(查看:D:\xampp\htdocs\mieaceh\resources\views\shop.blade.php)
- pine-script - Pine Scripts:最后一个和最新的金色十字架以及最新的死亡十字架的条形长度
- python - 是否可以在“return”语句后删除记录?
- r - 如何重命名 R 自动绘图中的线标签?
- javascript - 如何在 vuetify 文本字段的标签中添加可点击的锚标记?
- mongodb - 在结构中初始化时间戳时,MongoDB 不保存文档
- laravel - 使用带有 laravel 队列的主管时出现意外的令牌“:”