6,JsonPath进阶实战--JsonPath.read()源码时序图

1,读json文档

  • 1.1,如果只读一次,直接使用JsonPath.read()静态方法读取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()时序图

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值