1,讀json文檔
- 1.1,如果只讀一次,直接使用JsonPath.read()靜態(tài)方法讀取json字符串
String json = "...";
List<String> authors = JsonPath.read(json, "$.store.book[*].author");
- 1.2,如果多次讀取json文檔,為了避免每次都解析json文檔,首先要解析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");
- 1.3,JsonPath提供了fluent API,這是最靈活的一種方式
String json = "...";
ReadContext ctx = JsonPath.parse(json);
List<String> authorsOfBooksWithISBN = ctx.read("$.store.book[?(@.isbn)].author");
List<Map<String, Object>> expensiveBooks = JsonPath
.using(configuration)
.parse(json)
.read("$.store.book[?(@.price > 10)]", List.class);
JsonPath.read()時(shí)序圖
JsonPath.png