使用beanshell 脚本工具进行转义
响应的json需要取出 workOrderCode的值
{
"timeStamp": "2024-02-27 16:14:09",
"data": {
"object": {
"asyncResult": "{\"success\":true,\"errorCode\":\"0\",\"errorMessage\":\"\",\"timeStamp\":\"2024-02-27 16:14:08\",\"data\":{\"object\":{\"total\":1,\"page\":1,\"pageSize\":20,\"totalPage\":1,\"list\":[{\"workOrderStatusName\":\"未投产\",\"productionOrderCode\":\"MO2024022730024\",\"workOrderCode\":\"SFC2024302270009\",\"processCode\":\"s123\",\"OrgWorkshop_57\":{\"workshopName\":\"老默鱼铺\",\"workshopCode\":\"LMYP\"},\"workshopName\":\"老默鱼铺\",\"operationName\":null,\"workOrderId\":3372,\"workshopCode\":\"LMYP\",\"workOrderStatus\":\"UNSTART\",\"SysDictValue_40\":{\"dictValue\":\"UNSTART\",\"dictLabel\":\"未投产\",\"dictType\":\"object_work_order\"},\"_id\":\"3372\"}]}}}",
"asyncResultType": "COMMON",
"progress": 10000,
"id": 70969402679297
}
},
"success": true,
"errorMessage": "",
"errorCode": "0"
}
// 导入必要的类库
import org.apache.commons.text.StringEscapeUtils;
import org.json.JSONArray;
import org.json.JSONObject;
// 从前一个响应中获取数据
String prevResponse = prev.getResponseDataAsString();
log.info("prevResponse:" + prevResponse);
// 解析 JSON 格式的响应数据
JSONObject prevResponseJson = new JSONObject(prevResponse);
JSONObject dataObject = prevResponseJson.getJSONObject("data").getJSONObject("object");
String asyncResult = dataObject.getString("asyncResult");
log.info("asyncResult: " + asyncResult);
// 解析 asyncResult 字段中的 JSON 数据
JSONObject asyncResultJson = new JSONObject(asyncResult);
JSONArray listArray = asyncResultJson.getJSONObject("data").getJSONObject("object").getJSONArray("list");
JSONObject firstItem = listArray.getJSONObject(0);
String workOrderCode = firstItem.getString("workOrderCode");
// 输出从响应数据中提取的 workOrderCode
log.info("workOrderCode: " + workOrderCode);
// 将 workOrderCode 存储到 JMeter 变量中,以便在后续请求中使用
vars.put("workOrderCode", workOrderCode);