Jmeter 使用fastjson处理jsonArray返回值并作为参数传递给其他接口

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSON;

String response = prev.getResponseDataAsString();//获取响应数据,转换为字符串
JSONObject data_obj = JSON.parseObject(response);//把整个字符串转换为jsonObject
JSONArray roomSpaceList = data_obj.get("Data").getJSONArray("RoomSpaceInfoList");//获取空间列表
//log.info("----"+roomSpaceList);
//去除空间列表中的AreaFloorReal,RoomSpaceName使IsJoinQuote随机为1或2
if(roomSpaceList.size() == 1){
JSONObject obj = roomSpaceList.get(i);
obj.remove("AreaFloorReal");//删除对象
obj.remove("RoomSpaceName");
obj.put("IsJoinQuote",1);//更新对象
}else{
for(int i = 0; i < roomSpaceList.size(); i++) {
JSONObject obj = roomSpaceList.get(i);
obj.remove("AreaFloorReal");
obj.remove("RoomSpaceName");
if(i == 0 ){
obj.put("IsJoinQuote",1);
}else{
obj.put("IsJoinQuote",${__Random(1,2,)});
}
log.info("----"+obj.get("IsJoinQuote"));

}
}
//List roomSpaceList1 = JSONArray.toList(roomSpaceList);
log.info("----"+roomSpaceList);


vars.putObject("roomSpaceInfoIds",roomSpaceList)

*****************************************分割线*******************************************

输入:

{
"StateCode": 200,
"Msg": "数据获取成功",
"Data": {
"RoomSpaceInfoList": [{
"RoomSpaceInfoId": 61,
"RoomSpaceName": "过道",
"AreaFloorReal": 2.20,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 62,
"RoomSpaceName": "卧室",
"AreaFloorReal": 21.50,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 63,
"RoomSpaceName": "卧室",
"AreaFloorReal": 14.64,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 64,
"RoomSpaceName": "阳台",
"AreaFloorReal": 3.31,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 65,
"RoomSpaceName": "厨房",
"AreaFloorReal": 6.43,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 66,
"RoomSpaceName": "阳台",
"AreaFloorReal": 4.23,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 67,
"RoomSpaceName": "衣帽间",
"AreaFloorReal": 2.22,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 68,
"RoomSpaceName": "卫生间",
"AreaFloorReal": 5.99,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 69,
"RoomSpaceName": "卫生间",
"AreaFloorReal": 6.12,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 70,
"RoomSpaceName": "客餐厅",
"AreaFloorReal": 44.81,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 71,
"RoomSpaceName": "书房",
"AreaFloorReal": 12.79,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 72,
"RoomSpaceName": "全屋",
"AreaFloorReal": 124.24,
"IsJoinQuote": 1
}]
}
}

输出:

[{
"RoomSpaceInfoId": 61,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 62,
"IsJoinQuote": 2
}, {
"RoomSpaceInfoId": 63,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 64,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 65,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 66,
"IsJoinQuote": 2
}, {
"RoomSpaceInfoId": 67,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 68,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 69,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 70,
"IsJoinQuote": 1
}, {
"RoomSpaceInfoId": 71,
"IsJoinQuote":2
}, {
"RoomSpaceInfoId": 72,
"IsJoinQuote": 1
}]

本文所用fastjson包:1.2.58

下载链接:https://pan.baidu.com/s/1Q654-1x7JpR5O7U6dsidaw  提取码:09us

posted on 2021-09-09 13:43  Darren-Frank  阅读(1217)  评论(0)    收藏  举报

导航