如何使用JSON路径引用根密钥?

时间:2012-10-02 15:11:01

标签: json pentaho jsonpath

我有这样的数据:

{"key": {"name":"hi", "size":10}}

“key”是一个动态值。它不是固定的。我可以使用此JSON路径访问namesize

*.name
*.size

如何使用JSON Path获取“key”本身的值? *为我提供了整行数据,$@都在我的解析器中“找不到元素”。

我正在尝试使用JSON输入步骤在Pentaho中执行此操作。

3 个答案:

答案 0 :(得分:4)

$.*将为您提供父对象的所有元素,在您的示例中,您将获得类似

的内容
[
   {
      "name":"hi",
      "size":10
   }
]

根据:http://jsonpath.curiousconcept.com/

答案 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不熟悉,所以我不知道我的答案是否适用于你的情况。