当前位置: 首页 > 面试题库 >

在Java中查询JSONObject

景元忠
2023-03-14
问题内容

我想知道是否某个地方存在一个能够查询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对JSON而言,XPATH对XML而言,是一种提取给定文档部分的简单方法。

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

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

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

希望这对您有所帮助。



 类似资料:
  • 问题内容: 我早些时候问了一个问题,但遭到了严厉的批评,因此在这里我再次提出。比较简单,改写为吸引那些可能一直担心我之前提出的问题的人。 背景信息我正在解析一些HTML信息。我将所有内容隔离在一系列的行中,但我希望抓取的内容以及其后的空格。为了摆脱空间,我选择使用trim(),但是遇到了麻烦。我的代码的最后几行是测试: 结果是: 我担心我调用trim()的方式可能有问题,因为我们都会不时出错,所以

  • 问题内容: 是否有一个库,可以像JPA中那样以编程方式构建SPARQL查询,或者可以像使用for SQL 一样构建查询? 问题答案: 您可以使用两种方法在Jena中以编程方式构建查询:语法或代数。耶拿维基上有一个介绍。 使用代数,您将执行以下操作: (摘自Wiki页面) 不是(也不是预期的),但是那是其中的一些方式。您而不是AND,而您想要进行OR等。痛点是我的经验中的表达式:您可能想从字符串中解

  • 用户实体类: 感谢任何帮助。多谢了。

  • connection方法似乎工作得很好,但当它执行调用“ExecuteQuery(sql)”方法的方法时,它会抛出SQLException。 我想我把jdbc驱动程序、ojdbc库和数据库配置得很好,但是我找不到为什么方法没有完成它的工作。有线索吗? 堆栈跟踪:

  • 我在MongoDB集合中有一个Json文档,我希望根据_id查询它。

  • 问题内容: 我有以下查询,该查询通常可以正常工作,并且应该返回涵盖定义时间范围的所有行(如果没有绝对匹配,则采用最接近的前一行和后一行-在http://www.orafaq.com/node/1834中概述) 但是希望通过引用外部选择来减少两个表的子选择,但是显然它不喜欢它 有没有一种方法可以使查询不选择三个表? 问题答案: 您可以通过联接执行以下操作: 我不是MySQL专家,因此如果需要一些语法