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) 收藏 举报
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号