如何在 Liferay 中提取嵌套的 JSON 元素

How to extract nested JSON Elements in Liferay

我正在使用 Liferay 6.2 并且有一个包含以下内容的 JSONObject:

{
  "foo":{
         "bar":{
                "baz":["42","23"]
               }
        }
}

我有一个包含 path/selector/whatsitcalled 的字符串,指向该 JSONObject 中的某处:foo.bar.baz[0]

我将如何从 JSONObject 中获取相应的值,即“42”?

我能找到的所有方法都只能处理下一层,似乎没有任何方法可以涵盖嵌套。我可以手动解析路径,但是有没有更简单的方法?

使用此 java 库为 json 执行 xpath 类似查询。 我在 Liferay 中成功地使用了它。

https://github.com/jayway/JsonPath

有很多方法可以通过编程方式从 JSON 对象中检索数据。

你可以使用自带的Liferay支持JSON库,GSON或者Jackson库(推荐你最后一个,真的很强大)