繁体   English   中英

如何通过键值获取 JSON 数组中的特定节点值

[英]How to get specific node value in JSON array by key value

使用JSON.NET 您如何识别节点中另一个元素的值?

在此示例中,如何读取key = "b"的节点中的(例如 22)

(假设“b”是唯一的或仅获得第一个实例)

{
    "data": [
        {
            "id": 1,
            "key": "a",
            "value": "11"
        },
        {
            "id": 2,
            "key": "b",
            "value": "22"
        },
        {
            "id": 3,
            "key": "c",
            "value": "33"
        }
    ]
}

我假设有必要遍历 key = "b" 的每个数组项并读取该迭代中的值,除非有一种方法可以根据键直接定位节点?

VB - 非工作示例

json 已经反序列化为 object

Dim Results As Batch = JsonConvert.DeserializeObject(Of Batch)(response)

For Each item In Results.data.Where(Function(obj) obj("key").Value(Of String)() = "b")
   Dim DataVal as String = obj("value").Value
Next
Dim firstFromValue = JToken.Parse(response)("data").FirstOrDefault(Function(d) d("key") = "b").value

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM