JsonPath使用教程

JsonPath使用教程_第1张图片
JsonPath使用教程_第2张图片
JsonPath使用教程_第3张图片
JsonPath使用教程_第4张图片
JsonPath使用教程_第5张图片

a、输出result下的isloadmore所对应的value

   String checkurl = "$.result.isloadmore";
Boolean boolean1= JsonPath.read(baores, checkurl); 
System.out.println(boolean1);
b、输出newslist列表中包含的所有对象

String checkurl2 = "$.result.newslist[*]";
        List newslist = JsonPath.read(baores, checkurl2);
        System.out.println(newslist);
c、输出newslist列表的第一个对象

Object object = JsonPath.read(baores, "$.result.newslist[0]");
        System.out.println(object);
d、输出newslist列表中所有对象对应的属性username

List username = JsonPath.read(baores, "$.result.newslist[*].username");
        System.out.println(username);
e、输出newslist列表中第一个对象的title

String title= JsonPath.read(baores, "$.result.newslist[0].title");
        System.out.println(title);
f、输出newslist中mediatype=3的所有的对象

List finallist = JsonPath.read(baores, "$.result.newslist[?(@.mediatype ==3)]");
        for(int i =0;i
            System.out.println(finallist.get(i));
        }
g、输出newslist中赞数大于10的所有对象

List finallist3 = JsonPath.read(baores, "$.result.newslist[?(@.praisenum > 10)]");   
        for(int i =0;i
            System.out.println(finallist3.get(i));
        }
h、输出newslist中含有userid的所有对象

List finallist4 = JsonPath.read(baores, "$.result.newslist[[email protected]]");
        for(int i =0;i
            System.out.println(finallist4.get(i));
        }
j、我们还可以先编辑好一个路径,在多个地方重复使用

JsonPath path = JsonPath.compile("$.result.hotvuser");
        List userlist = path.read(baores);
        for(int i =0;i
            System.out.println(userlist.get(i));
        }
k、我们还可以自定义过滤器来获取想要的任何元素,可以多条件查询;

下面例子查找: newslist中存在indentifiertype,并且username为 "韩路出品", "车比得" 的对象

Filter filter = Filter.filter(Criteria.where("identifiertype").exists(true).and("username").in("韩路出品", "车比得"));
        List finallist5 = JsonPath.read(baores, "$.result.newslist[?]", filter);    
        for(int i =0;i
            System.out.println(finallist5.get(i));
        }






你可能感兴趣的:(工具)