咱們在用jmeter作接口測試的時候,有的時候會遇到一些複雜的json響應。好比多層list嵌套時的取值正則表達式
一個簡單的例子:json
$..Name:列出全部省份測試
$..Province[0].Name 提取Province中第一個list中的Namejsonp
$..[?(@.Name=='Beijing')] 篩選出省份名爲Beijing的全部list數據spa
$.Province[:2].population 篩選前兩條數據 3d
注意:$.Province[:2].population 是篩選出前兩條數據 ;$.Province[2].population 是排除前兩條數據;$.Province[-2].population是排除後兩條數據,千萬別弄混了哦~blog
下面列舉一個複雜的例子:接口
這是一個多層嵌套的jsonlist,須要提取全部cabinInfos列表下,patFlag=Y時的cabin,standardPrice和finallyPrice。是否是聽起來就很複雜?若是按照傳統的正則表達式提取,那麼 很難知足這裏的需求了。所以就須要用到jsonpath表達式。get
$..[?(@.patFlag=="Y")].["cabin","standardPrice","finallyPrice"]io
提供mock接口,jmeter直接訪問便可: https://easy-mock.com/mock/5b88b27476b79510db917603/example/query1
關於jsonpath的其它用法,有待各位繼續取研究~
你還在爲找不到可練習的接口而煩惱嗎?如今加入龍淵閣,手把手教你搭建屬於本身的接口測試環境!