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