获取JSON中的密钥

Ste*_*fan 6 json jsonpath

我从外部系统得到以下JSON结果:

{
  "key1": "val1",
  "key2": "val2",
  "key3": "val3"
}
Run Code Online (Sandbox Code Playgroud)

现在,我想使用JSONPath显示所有键和所有值。所以我正在寻找某种东西来获取key1,key2和key3作为结果。另外,我想使用属性的索引,例如$....[2].key获取“ key3”等。有没有办法做这样的事情?

Vik*_*tor 5

我发现tilda ~符号能够检索它所调用的值的键。因此,对于您的示例,这样的查询:

$.*~
Run Code Online (Sandbox Code Playgroud)

返回此:

[
  "key1",
  "key2",
  "key3"
]
Run Code Online (Sandbox Code Playgroud)

另一个示例,如果我们有一个像这样的JSON文档:

  {
  "key1": "val1",
  "key2": "val2",
  "key3": {
      "key31":"val31",
      "key32":"val32"
  }
}
Run Code Online (Sandbox Code Playgroud)

这样的查询:

$.key3.*~
Run Code Online (Sandbox Code Playgroud)

将返回此:

[
  "key31",
  "key32"
]
Run Code Online (Sandbox Code Playgroud)

重要的是要注意,这些示例可在JSONPath.com和其他一些模拟器/在线工具上使用,但在某些情况下则无法使用。可能是由于我在JSONPath plus文档中找到了tilda(〜)运算符,而不是官方文档。