Jmeter书中不会教你的(49)——json格式的响应体转换为JSONObject
之前我们要提取json格式的响应体某个字段时可以采用神器json提取器,Jmeter书中不会教你的(8)——提取响应内容的神器JSON Extractor_agrapea的博客-CSDN博客现在学另一种方法,在beanshell中将json格式的响应体为字符串类型的内容转换为JSON对象,从而利用JSON对象的方法轻松的得到我们期望的值。这里需要用到一个插件jar包,关于beanshell中如何引
之前我们要提取json格式的响应体某个字段时可以采用神器json提取器,
Jmeter书中不会教你的(8)——提取响应内容的神器JSON Extractor_agrapea的博客-CSDN博客 现在学另一种方法,在beanshell中将json格式的响应体为字符串类型的内容转换为JSON对象,从而利用JSON对象的方法轻松的得到我们期望的值。
这里需要用到一个插件jar包,关于beanshell中如何引入jar包的方式可以参考
Jmeter书中不会教你的(45)——beanshell中引入jar包方式2_agrapea的博客-CSDN博客
- json.jar:下载地址
https://pan.baidu.com/s/1Gn6B1mKeLkTV5Y4YxWJW9Q 提取码:4r5d
将jar包放入lib\ext下,新建一个dummy sampler,响应值如下
{
"msgCode": "0",
"msg": "成功",
"data": {
"total": 321,
"list": [{
"taskId": "fc4c2b3e7e2c400d81f0eae63f15a4ab",
"recordId": "f4daf944-2bdf-4bc8-8962-40dbd1afd786",
"distributeTime": "2019-01-30 11:37:08",
"taskName": "20190130task1",
"bizName": "智能面试",
"wavFilename": "20180910095609049_1_316_ipcc_shtp_asr-8kHz-aff95840b49c11e8[1].wav",
"recordSource": "/nfsc/csp_nas_8821_id008821_vol1002_stg/eim-sm/RECORD/zhinengmianshi/20190130/20180910095609049_1_316_ipcc_shtp_asr-8kHz-aff95840b49c11e8[1].wav",
"recordDuration": "00:00:22",
"statusName": null,
"markStartTime": null,
"markEndTime": null,
"markReceiveTime": null,
"marker": null,
"userFlag": null,
"back": false
}, {
"taskId": "6adcf44f2fdf4e3fb2ce93a8eaec87de",
"recordId": "b4d12c20-8b19-4095-a78a-509d0733c88b",
"distributeTime": "2019-01-30 11:37:09",
"taskName": "20190130task1",
"bizName": "智能面试",
"wavFilename": "20180910095704682_1_317_ipcc_shtp_asr-8kHz-d1202b66b49c11e8[1].wav",
"recordSource": "/nfsc/csp_nas_8821_id008821_vol1002_stg/eim-sm/RECORD/zhinengmianshi/20190130/20180910095704682_1_317_ipcc_shtp_asr-8kHz-d1202b66b49c11e8[1].wav",
"recordDuration": "00:00:20",
"statusName": null,
"markStartTime": null,
"markEndTime": null,
"markReceiveTime": null,
"marker": null,
"userFlag": null,
"back": false
}, {
"taskId": "da3213defd7c4a9e9a49880bfe09b601",
"recordId": "29529ea1-3868-463c-9b88-9f077927be3e",
"distributeTime": "2019-01-30 11:37:10",
"taskName": "20190130task1",
"bizName": "智能面试",
"wavFilename": "20180910095704682_1_317_ipcc_shtp_asr-8kHz-d1202b66b49c11e8[2].wav",
"recordSource": "/nfsc/csp_nas_8821_id008821_vol1002_stg/eim-sm/RECORD/zhinengmianshi/20190130/20180910095704682_1_317_ipcc_shtp_asr-8kHz-d1202b66b49c11e8[2].wav",
"recordDuration": "00:00:16",
"statusName": null,
"markStartTime": null,
"markEndTime": null,
"markReceiveTime": null,
"marker": null,
"userFlag": null,
"back": false
}, {
"taskId": "b9f2bcf2970b40cea82007ba450eaa7c",
"recordId": "e1b355f9-fc1a-4920-a20f-684cd2145d7c",
"distributeTime": "2019-01-30 11:37:11",
"taskName": "20190130task1",
"bizName": "智能面试",
"wavFilename": "20180910095837911_1_318_ipcc_shtp_asr-8kHz-08b06f50b49d11e8[1].wav",
"recordSource": "/nfsc/csp_nas_8821_id008821_vol1002_stg/eim-sm/RECORD/zhinengmianshi/20190130/20180910095837911_1_318_ipcc_shtp_asr-8kHz-08b06f50b49d11e8[1].wav",
"recordDuration": "00:00:16",
"statusName": null,
"markStartTime": null,
"markEndTime": null,
"markReceiveTime": null,
"marker": null,
"userFlag": null,
"back": false
}, {
"taskId": "f342876995a9480490067818238aaf13",
"recordId": "c53a7808-4281-4731-91f8-39f1d23ca0fe",
"distributeTime": "2019-01-30 11:37:11",
"taskName": "20190130task1",
"bizName": "智能面试",
"wavFilename": "20180910095837911_1_318_ipcc_shtp_asr-8kHz-08b06f50b49d11e8[2].wav",
"recordSource": "/nfsc/csp_nas_8821_id008821_vol1002_stg/eim-sm/RECORD/zhinengmianshi/20190130/20180910095837911_1_318_ipcc_shtp_asr-8kHz-08b06f50b49d11e8[2].wav",
"recordDuration": "00:00:06",
"statusName": null,
"markStartTime": null,
"markEndTime": null,
"markReceiveTime": null,
"marker": null,
"userFlag": null,
"back": false
}, {
"taskId": "e85abd8bf8fc4a84beb39f8e324dce28",
"recordId": "dc620476-ef9b-4119-afb0-26d43b5849cf",
"distributeTime": "2019-01-30 11:37:12",
"taskName": "20190130task1",
"bizName": "智能面试",
"wavFilename": "20180910095839670_1_319_ipcc_shtp_asr-8kHz-09c0011cb49d11e8[1].wav",
"recordSource": "/nfsc/csp_nas_8821_id008821_vol1002_stg/eim-sm/RECORD/zhinengmianshi/20190130/20180910095839670_1_319_ipcc_shtp_asr-8kHz-09c0011cb49d11e8[1].wav",
"recordDuration": "00:00:21",
"statusName": null,
"markStartTime": null,
"markEndTime": null,
"markReceiveTime": null,
"marker": null,
"userFlag": null,
"back": false
}, {
"taskId": "de9a2a7a34da45b1b8383ca7e2ad2c42",
"recordId": "e2032d7a-8826-46e5-9e60-303d9e9e1856",
"distributeTime": "2019-01-30 11:37:13",
"taskName": "20190130task1",
"bizName": "智能面试",
"wavFilename": "20180910095915418_1_320_ipcc_shtp_asr-8kHz-1f0d7e50b49d11e8[1].wav",
"recordSource": "/nfsc/csp_nas_8821_id008821_vol1002_stg/eim-sm/RECORD/zhinengmianshi/20190130/20180910095915418_1_320_ipcc_shtp_asr-8kHz-1f0d7e50b49d11e8[1].wav",
"recordDuration": "00:00:15",
"statusName": null,
"markStartTime": null,
"markEndTime": null,
"markReceiveTime": null,
"marker": null,
"userFlag": null,
"back": false
}, {
"taskId": "459e73e5812d46589686c9bde6287eac",
"recordId": "a6573fac-4bd9-4365-a776-a216c8f94629",
"distributeTime": "2019-01-30 11:37:14",
"taskName": "20190130task1",
"bizName": "智能面试",
"wavFilename": "20180910095918387_1_321_ipcc_shtp_asr-8kHz-20d5be32b49d11e8[1].wav",
"recordSource": "/nfsc/csp_nas_8821_id008821_vol1002_stg/eim-sm/RECORD/zhinengmianshi/20190130/20180910095918387_1_321_ipcc_shtp_asr-8kHz-20d5be32b49d11e8[1].wav",
"recordDuration": "00:00:14",
"statusName": null,
"markStartTime": null,
"markEndTime": null,
"markReceiveTime": null,
"marker": null,
"userFlag": null,
"back": false
}, {
"taskId": "4dd84231684640c8bf0bea4a7392735d",
"recordId": "1bf3c3ca-2f1d-424a-8ca3-f9b789518d90",
"distributeTime": "2019-01-30 11:37:15",
"taskName": "20190130task1",
"bizName": "智能面试",
"wavFilename": "20180910095918387_1_321_ipcc_shtp_asr-8kHz-20d5be32b49d11e8[2].wav",
"recordSource": "/nfsc/csp_nas_8821_id008821_vol1002_stg/eim-sm/RECORD/zhinengmianshi/20190130/20180910095918387_1_321_ipcc_shtp_asr-8kHz-20d5be32b49d11e8[2].wav",
"recordDuration": "00:00:09",
"statusName": null,
"markStartTime": null,
"markEndTime": null,
"markReceiveTime": null,
"marker": null,
"userFlag": null,
"back": false
}, {
"taskId": "f705b3b1a35b4bf1b7d368f6722d4a22",
"recordId": "00c2d521-825c-4484-8dea-84c3ebe8bfd8",
"distributeTime": "2019-01-30 11:37:16",
"taskName": "20190130task1",
"bizName": "智能面试",
"wavFilename": "20180910100007298_1_322_ipcc_shtp_asr-8kHz-3df9e268b49d11e8[1].wav",
"recordSource": "/nfsc/csp_nas_8821_id008821_vol1002_stg/eim-sm/RECORD/zhinengmianshi/20190130/20180910100007298_1_322_ipcc_shtp_asr-8kHz-3df9e268b49d11e8[1].wav",
"recordDuration": "00:00:11",
"statusName": null,
"markStartTime": null,
"markEndTime": null,
"markReceiveTime": null,
"marker": null,
"userFlag": null,
"back": false
}],
"pageNum": 1,
"pageSize": 10,
"size": 10,
"startRow": 1,
"endRow": 10,
"pages": 33,
"prePage": 0,
"nextPage": 2,
"isFirstPage": true,
"isLastPage": false,
"hasPreviousPage": false,
"hasNextPage": true,
"navigatePages": 8,
"navigatepageNums": [1, 2, 3, 4, 5, 6, 7, 8],
"navigateFirstPage": 1,
"navigateLastPage": 8,
"firstPage": 1,
"lastPage": 8
}
}
再其下新建一个beanshell后置处理器用来处理json,假设我们需要提取以上msgCode的值,
1)new一个JSONObject对象
2)利用对象的get(“字段”)方法获取字段内容,获取的类型根据实际获取的内容决定,String、int、数组等都有可能
如果需要获取下一个层级data下面total的值,每一个层级间用点(.)表示,由于total值为整箱,打印时要转换成String类型
total=rsob.get("data").get("total");
log.info(total.toString());
如果需要再次获取data下面list数组呢?
如果这样写,会提示报错,因为获取的list是数组,info不能直接打印数组
list=rsob.get("data").get("list");
log.info(list);
我们可以使用list.toString()将数组信息作为字符串打印出来。但是字符串不方便使用,如果需要提取数组中的值怎么操作?在报错信息中提到了JSONArray,下一节讲。。。。。。
更多推荐
所有评论(0)