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() 老师的数量
  • 相关阅读:
    8-12-COMPETITION
    The Rotation Game(IDA*算法)
    Largest Rectangle in a Histogram(DP)
    Top ShooterHDU2863&&继续xxx定律HDU3784
    NYOJ 536 开心的mdd(DP)
    POJ1328 Radar Installation 图形转化 贪心 排序
    cout:格式算子与保留精度
    POJ 2109 Power of Cryptography二分+大数相乘和pow为什么可以直接过的原因
    字符串交换函数
    纪念一次失败的暴力 统计回文字串
  • 原文地址:https://www.cnblogs.com/fyangq/p/12909425.html
Copyright © 2011-2022 走看看