获取JSON中的密钥

时间:2017-09-28 14:20:43

标签: json jsonpath

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

{
  "key1": "val1",
  "key2": "val2",
  "key3": "val3"
}

现在我想使用JSONPath显示所有键和所有值。所以我正在寻找能够获得key1,key2和key3的东西。另外我想使用属性的索引,e。 G。 $....[2].key获取“key3”等 有没有办法做这样的事情?

1 个答案:

答案 0 :(得分:3)

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

$.*~

返回此:

[
  "key1",
  "key2",
  "key3"
]

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

  {
  "key1": "val1",
  "key2": "val2",
  "key3": {
      "key31":"val31",
      "key32":"val32"
  }
}

这样的查询:

$.key3.*~

将返回此:

[
  "key31",
  "key32"
]

请务必注意,这些示例在JSONPath.com和其他一些模拟器/在线工具上有效,但在某些模拟器/在线工具上却无效。可能是由于我在JSONPath plus文档中发现了tilda(〜)运算符,而不是官方文档。