JSON 提取器是最常用的一种用于关联的元器件,提取完参数后,相当于把参数以 key-value 的形式放到参数池,以便后面的请求使用。
注意:不能超前引用,即在定义前就进行参数化

简单 JsonPath 提取实战

自己 mock 一个简单的接口数据如下

{
    "province": [
        {
            "id": 110000,
            "name": "北京市"
        }, {
            "id": 120000,
            "name": "天津市"
        }, {
            "id": 130000,
            "name": "河北省"
        }
    ]
}

获取所有省份名称:
$.province[*].name 或 $..name

获取 province 第二个对象的 name:
$.province[1].name

获取名为河北省的对象数据:
$.province[?(@.name=='河北省')]

取前 2 条数据的 name:
$.province[:2].name

注意:

复杂 JsonPath 提取实战

下面是一个比较复杂的 json 数据

这是一个多层嵌套的 json 数据,现在要提取所有东方航空下的,cabinInfos 列表下的 patFlag=Y 时的 cabin,standardPrice 和 finallyPrice,听起来是不是很复杂?
jsonPath 表达式就可以完成一个如此复杂的提取
$.responseData[?(@.airlineName=='东方航空')].cabinInfos[?(@.patFlag=='Y')].["cabin","standardPrice","finallyPrice"]

这次的案例接口数据是我用 Flask 框架自己 mock 出来的


↙↙↙阅读原文可查看相关链接,并与作者交流