使用 jsonpath 从 json 获取密钥不起作用

问题描述 投票:0回答:2

输入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
2个回答
0
投票

如果您能够更改 JSON 使其成为数组,您可以使用

keys()
函数提取密钥。

JSON

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

JSONPath

$.[*].keys()


0
投票

有人找到答案了吗?

© www.soinside.com 2019 - 2024. All rights reserved.