我们在用 jmeter 做接口测试的时候,有的时候会遇到一些复杂的 json 响应。比如多层 list 嵌套时的取值
Jmeter 接口自动化交流扣扣群:704807680
$..Name:列出所有省份
$..Province[0].Name 提取 Province 中第一个 list 中的 Name
Jmeter 接口自动化交流扣扣群:704807680
$..[?(@.Name=='Beijing')] 筛选出省份名为 Beijing 的所有 list 数据
$.Province[:2].population 筛选前两条数据
注意:.Province[:2].population 是筛选出前两条数据;.Province[2].population 是排除前两条数据;$.Province[-2].population 是排除后两条数据,千万别弄混了哦~
这是一个多层嵌套的 jsonlist,需要提取所有 cabinInfos 列表下,patFlag=Y 时的 cabin,standardPrice 和 finallyPrice。是不是听起来就很复杂?如果按照传统的正则表达式提取,那么 很难满足这里的需求了。因此就需要用到 jsonpath 表达式。
Jmeter 接口自动化交流扣扣群:704807680
$..[?(@.patFlag=="Y")].["cabin","standardPrice","finallyPrice"]
Jmeter 接口自动化交流扣扣群:704807680