我从外部系统得到以下JSON结果:
{ "key1": "val1", "key2": "val2", "key3": "val3" }
现在,我想使用JSONPath显示所有键和所有值。所以我正在寻找某种东西来获取key1,key2和key3作为结果。另外,我想使用属性的索引,例如$....[2].key
获取“ key3”等。有没有办法做这样的事情?
我发现tilda ~
符号能够检索它所调用的值的键。因此,对于您的示例,这样的查询:
$.*~
返回此:
[ "key1", "key2", "key3" ]
另一个示例,如果我们有一个像这样的JSON文档:
{ "key1": "val1", "key2": "val2", "key3": { "key31":"val31", "key32":"val32" } }
这样的查询:
$.key3.*~
将返回此:
[ "key31", "key32" ]
重要的是要注意,这些示例可在JSONPath.com和其他一些模拟器/在线工具上使用,但在某些情况下则无法使用。可能是由于我在JSONPath plus文档中找到了tilda(〜)运算符,而不是官方文档。