【以下文字信息摘抄牛老師的語錄】
我們在做http接口測試的時候,返回的數據都是json串,Jmeter中本身是不支持直接處理json串的,如果要獲取到返回結果中指定的值,必須要通過正則表達式來獲取到,正則表達式比較麻煩,寫錯了就獲取不到值了,大家都知道json是key-value這樣來存值的,那jmeter里面能不能直接通過key取值呢,這樣的話就不用正則表達式那么麻煩了。
如果想要通過key直接取值的話,jmeter官方有一個 json path extractor的插件,裝上它就可以直接處理json了,通過key來取值。該插件下載地址為:http://jmeter-plugins.org/wiki/JSONPathExtractor/,下載完之后,把lib文件夾放到jmeter的目錄下就ok了。
打開jmeter,這里用的jmeter是3.0版本,新建一個調用接口的http請求,然后添加后置處理器,就可以看到有json path extractor這個插件了,如下圖:

那怎么使用呢,比如說剛才我調用的是獲取學生信息的接口,我要獲取到第一個stu_info的id,返回的json是這樣的:
{
"error_code": 0,
"stu_info": [
{
"id": 5667,
"name": "dxl3",
"sex": "女",
"age": 21,
"addr": "上海南京街",
"grade": "雙子座",
"phone": "13918733023",
"gold": 2900
},
{
"id": 5879,
"name": "dxl3",
"sex": "女",
"age": 21,
"addr": "上海南京街",
"grade": "雙子座",
"phone": "13976123956",
"gold": 100
}
}
分析一下這個json串,id在stu_info這個列表里面存着,取第一個id,那就要先取到stu_info里面的值,再取stu_info里面的第一個元素,就是學生信息,再取到id。
jp@gc - JSON Path Extractor中使用$代表原來接口的返回值,取值如下圖:

這樣就可以直接使用key來取json里面的值了,快去試試吧。
