JMeter中的读取json数据---JSON Extractor插件
JSONPath Expression:JSON表达式
Match Numbers:匹配哪个,可为空即默认第一个
Default Value:未取到值的时候默认值
如下json:
1 { 2 3 "statusCode":200, 4 5 "data":{"userId":"4a2cbe616eb74f0d99190af072c8dea6", 6 7 "token":"37e7a9e198186f5a443e50e6138a5bd20bd" 8 9 } 10 11 }
- 这里因为返回的是json数据:
1 $.data.token 获取token的值
如图所示:
但是有碰到一个坑
另外一个接口请求返回值为:
1 { 2 3 "statusCode":200, 4 5 "data":[{"code":"407949", 6 7 "id":"aa477ad2085d492a99b877d14343d68d", 8 9 "name":"90一中4545"}] 10 11 }
- 同样,使用
$.data.id
去提取id的值时,发现获取到的数据为空 - 原来这个responses 的data为数组,故应为
1 $.data[0].id 提取第1个值
如图所示:
如下json:
1 { 2 "name":"Simpsons family", 3 "members":[ 4 {"firstName":"Homer", "lastName":"Simpson"}, 5 {"firstName":"Marge", "lastName":"Simpson"}, 6 {"firstName":"Bart", "lastName":"Simpson"}, 7 {"firstName":"Lisa", "lastName":"Simpson"}, 8 {"firstName":"Maggie", "lastName":"Simpson"} 9 ] 10 }
JSONPath提取代码:提取第三列firstName =Bart 的值
$.members[2].firstName