背景
最近使用json实现复杂业务配置, 因为功能需要解析读取json的中节点数据。如果使用循环或者stream处理,可以实现,但是都过于麻烦。在想能否使用更简单json读取方式,正好发现fastjson支持该功能,本文做一个记录
案例说明
示例1使用fastjson实现,依赖如下
<!--alibaba.json和依赖包-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.79</version>
</dependency>
为了对比写法便捷性,示例2也提供jackson的部分实现方式。
示例1. fastjson实现json指定节点按条件过滤提取数据
使用 JSONPath.eval 来筛选 JSON 数据中符合特定条件的元素。以下是使用 eval 方法提取 author 等于 “Nigel Rees” 的那条记录的示例代码:
public class JSONPathExample {
public static void main(String[] args) {
String json = "{\n" +
" \"store\": {\n" +
" \"book\": [\n" +
&