我继承了一些针对单个JSON文件执行很多JsonPath查询的代码。对于每个查询,它将传入JSON文件和查询。然后,这成为对JsonPath.read(jsonFile,jpathQuery)的调用。

有没有一种方法可以避免它建立JSON需要的任何内部结构来执行查询?有没有办法让它一次构建JSON的内部模型,然后对它执行多个查询?

谢谢-戴夫

最佳答案

我假设您正在使用this jsonpath library

在他们的文档中,他们有这个


  使用JsonPath的最简单,最直接的方法是通过
  静态读取API。

String json = "...";
List<String> authors = JsonPath.read(json, "$.store.book[*].author");

  
  如果您只想阅读一次,则可以。如果您需要阅读
  其他路径也不可行,因为文档将
  每次调用JsonPath.read(...)时都会被解析。为了避免这个问题
  您可以先解析json。

String json = "..."; Object document =
Configuration.defaultConfiguration().jsonProvider().parse(json);
String author0 = JsonPath.read(document, "$.store.book[0].author");
String author1 = JsonPath.read(document, "$.store.book[1].author");

关于java - JsonPath-缓存JSON,然后执行多个查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48392367/

10-12 05:05