首页 > 解决方案 > 从确切的 JSONpath 级别获取值

问题描述

我想使用路径运算符从 JSON 文档中提取值。例如,我通过 $..product_id 获取文件中包含的所有产品 ID。但是为了在我使用 $..id 时获取“id”,无论变量位于 JSON 的哪个级别,我都会为每个 id 元素得到一个输出。例如,在我的输出中,我得到了 id 为“12345678”和“11223344”的行,这不应该是因为它是第一个 ID 的子集。

 {
"next_offset": 20,
"records": [
    {
        "id": "12345678",
        "date": "2020-02-14",
        "product_id": "asdf1234",
        "product_name": "Product_test^_1",
        "template_link": {
            "name": "aassddff",
            "id": "11223344",
            "_acl": {
                "fields": [],
                "_hash": "345thvz356b56v456b"
            }
        },
        ....
    }
]

}

如何将路径运算符设置为仅访问一个特定级别的“id”字段?

标签: json

解决方案


对于您的问题中显示的 JSON,请使用$.records.*.id.


推荐阅读