【问题标题】:Getting key from json using jsonpath not working使用 jsonpath 从 json 获取密钥不起作用
【发布时间】:2021-12-24 17:06:44
【问题描述】:

输入json

{
"1212": [
  {
    "size": "M",
    "colour": "RED"
  },
  {
    "size": "L",
    "colour": "BLUE"
  },
  {
    "size": "XL",
    "colour": "GREEN"
  }
  
]
}

我希望这里 1212 使用 jsonPath 作为输出。

我尝试将 jsonpath 设为 $.*~,它适用于在线 jsonpath 评估器,结果为 [1212]

但是当我在我的代码中使用相同的 jsonpath 时它不起作用。前 -

JsonPath.read("jsonobject", "$.*~");

我得到的输出为

[
  {
    "size": "M",
    "colour": "RED"
  },
  {
    "size": "L",
    "colour": "BLUE"
  },
  {
    "size": "XL",
    "colour": "GREEN"
  }

]

我的代码中对 jsonpath 的依赖

<dependency>
    <groupId>com.jayway.jsonpath</groupId>
    <artifactId>json-path</artifactId>
    <version>2.6.0</version>
</dependency>

【问题讨论】:

标签: jsonpath


【解决方案1】:

如果您能够将 JSON 更改为数组,则可以使用 keys() 函数提取密钥。

JSON

[{
    "1212": [{
            "size": "M",
            "colour": "RED"
        },
        {
            "size": "L",
            "colour": "BLUE"
        },
        {
            "size": "XL",
            "colour": "GREEN"
        }
    ]
}]

JSONPath

$.[*].keys()

【讨论】:

    猜你喜欢
    • 2019-02-06
    • 1970-01-01
    • 2022-06-11
    • 2021-07-05
    • 1970-01-01
    • 2023-02-01
    • 2013-03-17
    • 1970-01-01
    • 2021-09-16
    相关资源
    最近更新 更多