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