我正在获取一个长这样的 JSON 数据源。
{
"bank": [
{
"id": 35,
"name": "bank 1",
"endpoints": [
{
"epId": 407,
"epName": "FRED001"
},
{
"epId": 516,
"epName": "FRED002"
},
{
"epId": 625,
"epName": "FRED003"
}
]
},
{
"id": 32,
"name": "bank 2",
"endpoints": [
{
"epId": 426,
"epName": "HENRY001"
},
{
"epId": 553,
"epName": "HENRY002"
}
]
},
{
"id": 20,
"name": "bank 3",
"endpoints": [
{
"epId": 1802,
"epName": "GEORGE001"
},
{
"epId": 920,
"epName": "GEORGE002"
},
{
"epId": 1052,
"epName": "GEORGE003"
}
]
}
]
}
最终目标是使用已知的epName 'FRED001' 进行搜索,并检索对应的epId '407',并输出到消息框。
我可以通过使用循环(例如C#)来完成此操作:
JObject jResults = JObject.Parse(jsonfeed);
JToken jResults_bank = jResults["bank"];
foreach (JObject bank in Results_bank)
{
JToken jResults_bank_endpoint = bank["endpoints"];
foreach (JObject endpoint in jResults_bank_endpoint)
{
if (bank["epName"].ToString() == "FRED001")
{
MessageBow.Show(bank["epId"].ToString());
}
}
}
然而,这似乎不是最好的方法,我相信我应该通过构建一个数组来使用 C# 实现。我该如何使用 JArray
实现相同的结果呢?