我有这样的数据:
{"key": {"name":"hi", "size":10}}
“key”是一个动态值。它不是固定的。我可以使用此JSON路径访问name
和size
:
*.name
*.size
如何使用JSON Path获取“key”本身的值? *
为我提供了整行数据,$
和@
都在我的解析器中“找不到元素”。
我正在尝试使用JSON输入步骤在Pentaho中执行此操作。
答案 0 :(得分:4)
$.*
将为您提供父对象的所有元素,在您的示例中,您将获得类似
[
{
"name":"hi",
"size":10
}
]
答案 1 :(得分:1)
这不可能与Pentaho JSON输入步骤一起使用,因为它使用了JSONPath。你需要以另一种方式做到这一点。例如,使用Modified Java Script Value
:
var obj = JSON.parse(json);
var keys = Object.keys(obj);
答案 2 :(得分:0)
我遇到的问题与解释问题的方法相同:如果您确实希望从示例中获取输出["key"]
,而无需在输入中指定"key"
。然后根本不要使用jsonPath(data,
... somequery ... )
。只需使用Object.keys(data)
即可。我在Javascript工作,对Pentaho不熟悉,所以我不知道我的答案是否适用于你的情况。