一尘不染

在Java中查询JSONObject

json

我想知道是否某个地方存在一个能够查询JSONObject的Java库。我正在更深入地寻找类似的东西:

String json = "{ data: { data2 : { value : 'hello'}}}";

...
// Somehow we managed to convert json to jsonObject
...

String result = jsonObject.getAsString("data.data2.value");

System.out.println(result);

我希望得到“ hello”作为输出。

到目前为止,我发现最快的方法是使用Gson:

jsonObject.getAsJsonObject("data").getAsJsonObject().get("data2").getAsJsonObject("value").getAsString();

实际上,读写并不容易。有更快的东西吗?


阅读 511

收藏
2020-07-27

共1个答案

一尘不染

我刚刚意外地发现了一个非常有趣的项目:JSON Path

JsonPath对JSON而言,XPATH对XML而言,是一种提取给定文档部分的简单方法。

有了这个库,您可以轻松完成您所要求的工作,然后是我之前的建议:

String hello = JsonPath.read(json, "$.data.data2.value");

System.out.println(hello); //prints hello

希望这对您有所帮助。

2020-07-27