JSON 提取器是最常用的一种用于关联的元器件,提取完参数后,相当于把参数以 key-value 的形式放到参数池,以便后面的请求使用。
注意:不能超前引用,即在定义前就进行参数化
自己 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
注意:
下面是一个比较复杂的 json 数据
这是一个多层嵌套的 json 数据,现在要提取所有东方航空下的,cabinInfos 列表下的 patFlag=Y 时的 cabin,standardPrice 和 finallyPrice,听起来是不是很复杂?
jsonPath 表达式就可以完成一个如此复杂的提取
$.responseData[?(@.airlineName=='东方航空')].cabinInfos[?(@.patFlag=='Y')].["cabin","standardPrice","finallyPrice"]
这次的案例接口数据是我用 Flask 框架自己 mock 出来的