java - 在java中查询一个JSONObject

我想知道某处是否存在能够查询 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();

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

最佳答案

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

JsonPath is to JSON what XPATH is to XML, a simple way to extract parts of a given document.

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

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

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

希望这也能有所帮助。

https://stackoverflow.com/questions/15429775/

相关文章:

json - 从动态 json 数据更新力有向图上的链接

c# - 反序列化客户端 AJAX JSON 日期

json - 服务器响应在中途被切断

ruby-on-rails - rails : Render Json Status Problem

json - 使用一些已知和一些未知的字段名解码 JSON

json - 如果整数以前导零开头,为什么 JSON 无效?

json - 可以引用 JSON 数字吗?

c# - 使用 Json.Net 以 dd/MM/yyyy 格式反序列化日期

json - PostgreSQL 嵌套 JSON 查询

javascript - 脚本5009 : 'JSON' is undefined