• JMeter-json提取器


    JSON提取器说明:

    Apply to:应用范围

    Names of created variables :接收值的变量名,自定义,多个变量用分号分隔 

    JSON Path expression json path表达式,也是用分号分隔 

    Match No.(0 for Random)0表示随机;n取第几个匹配值;-1匹配所有。若只要获取到匹配的第一个值,则填写1

    Compute concatenation var(suffix_ALL):如果找到许多结果,则插件将使用' , '分隔符将它们连接起来,并将其存储在名为<variable name> _ALL的var中

    Default Values: 缺省值,匹配不到值的时候取该值,可写error。

    运算符(Operators)

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

    JsonPath 案例

    JSON

    { "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 例子及说明

    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)] 所有包含地址的老师信息(jsonpath_rw 不支持)
    $.lemon.teachers[?(@.age < 20)] 所有年龄小于 20 的年龄信息(jsonpath_rw 不支持)

    注:提取多个值时,变量名用分号隔开,表达式也用分号隔开

  • 相关阅读:
    Linux如何同步时间/更新时间
    Linux关机/重启/及注销命令
    Linux如何查看别名和取消别名
    Linux查看历史记录
    Linux命令行快捷键有哪些
    win10产品密钥 win10永久激活密钥(可激活win10所有版本 )
    Xshell如何连接
    Xshell6 优化
    逻辑运算符
    可变类型与不可变类型
  • 原文地址:https://www.cnblogs.com/kakashi-feng/p/14662299.html
Copyright © 2020-2023  润新知