zoukankan      html  css  js  c++  java
  • jsonpath的使用

     

    运算符(Operators)

    运算符说明
    $ 根元素
    @ 当前元素
    * 通配符,可以表示任何元素
    .. 递归搜索
    . 子节点(元素)
    ['' (, '')] 一个或者多个子节点
    [ (, )] 一个或者多个数组下标
    [start:end] 数组片段,区间为[start,end)
    [?()] 过滤器表达式,其中表达式结果必须是boolean类型,如可以是比较表达式或者逻辑表达式

    JsonPath举例

    { "lemon": { "teachers": [ { "id": "101", "name": "华华", "addr": "湖南长沙", "age": 25 }, { "id": "102", "name": "韬哥", "age": 28 }, { "id": "103", "name": "Happy", "addr": "广东深圳", "age": 16 }, { "id": "104", "name": "歪歪", "addr": "广东广州", "age": 29 } ], "salesmans": [ { "id": "105", "name": "毛毛", "age": 17 }, { "id": "106", "name": "大树", "age": 27 } ] }, "avg": 25 }

    JsonPath路径说明
    $.lemon.teachers[*].name 获取所有老师的的名称
    $..name 获取所有人的名称
    $.lemon.* 所有的老师和销售
    $.lemon..age 所有人的年龄
    $..age 所有人的年龄
    $.lemon.teachers[*].age 所有老师的年龄
    $.lemon.teachers[3] 索引为3(第4个)老师的信息
    $..teachers[3] 索引为3(第4个)老师的信息
    $.lemon.teachers[-2] 倒数第2个老师的信息
    $..teachers[-2] 倒数第2个老师的信息
    $..teachers[1,2] 第2到第3个老师的信息
    $..teachers[:2] 索引0(包含)到索引2(不包含)的老师信息
    $..teachers[1:3] 索引1(包含)到索引3(不包含)的老师信息
    $..teachers[-2:] 最后的两个老师的信息
    $..teachers[2:] 索引2开始的所有老师信息
    $..teachers[?(@.addr)] 所有包含地址的老师信息
    $.lemon.teachers[?(@.age < 20)] 所有年龄小于20的年龄信息
    $..teachers[?(@.age <= $['avg'])]] 小于或等于平均年龄的老师信息
    $..teachers[?(@.name =~ /.*PPY/i)] 所有名称满足正则表达式的老师信息 (忽略大小写)
    $..* 所有的信息
    $.lemon.teachers.length() 老师的数量
  • 相关阅读:
    人月神话 画蛇添足
    人月神话 贵族专制和民主政治
    人月神话 外科手术队伍
    人月神话 焦油坑
    体温填报(五)
    体温填报(四)
    qwb与学姐
    qwb VS 去污棒
    1045 快速排序(25 分)
    LibreOJ #107. 维护全序集
  • 原文地址:https://www.cnblogs.com/fyangq/p/12909425.html
Copyright © 2011-2022 走看看