json響應如下:
{ "code":0, "data":{ "data":[ { "amount":50000, "appointmentInfoState":"00", "appointmentState":"", "appointmentTime":"" }, { "amount":50000, "appointmentInfoState":"00", "appointmentState":"", "appointmentTime":"", "auditTime":"審核耗時15小時 11分鍾", "createTime":"2019-12-05 18:24:56" }, { "amount":50000, "appointmentInfoState":"00", "appointmentState":"", "appointmentTime":"", "auditTime":"審核耗時15小時 54分鍾" } { "amount":50000, "appointmentInfoState":"00", "appointmentState":"", "appointmentTime":"" }, { "amount":300000, "appointmentInfoState":"00", "appointmentState":"", "appointmentTime":"", "auditTime":"審核耗時209小時 44分鍾", "createTime":"2019-11-27 15:51:44" }, { "amount":300000, "appointmentInfoState":"00", "appointmentState":"", "appointmentTime":"", "auditTime":"審核耗時1917小時 0分鍾" }, { "amount":300000, "appointmentInfoState":"00", "appointmentState":"", "appointmentTime":"", "auditTime":"審核耗時1917小時 56分鍾", "createTime":"2019-09-17 11:39:22" }, { "amount":300000, "appointmentInfoState":"00", "appointmentState":"", "appointmentTime":"", "auditTime":"審核耗時1984小時 54分鍾", "createTime":"2019-09-14 16:41:58" }, { "amount":300000, "appointmentInfoState":"00", "appointmentState":"", "appointmentTime":"", "auditTime":"審核耗時1989小時 53分鍾", "createTime":"2019-09-14 11:42:29" }, { "amount":300000, "appointmentInfoState":"00", "appointmentState":"", "appointmentTime":"", "auditTime":"審核耗時2369小時 45分鍾", "createTime":"2019-08-29 15:50:46" } ] }, "mask":"c7d2f67d-a5e8-45a3-8f4b-0149c4a7e434", "msg":"success", "timestamp":1575596175 }
取出data對象下data數據的長度
1、首先導入alibaba的fastjson-1.2.59.jar包,放置lib\ext下,版本號自選
2、在接口之后添加BeanShell PostProcessor工具
編寫代碼如下:
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; String jsonContent = prev.getResponseDataAsString(); JSONObject response = JSON.parseObject(jsonContent); JSONArray dataList = response.getJSONObject("data").getJSONArray("data"); int length = dataList.size(); vars.put("m_length",length.toString());
注意:一下這樣寫是錯誤的
vars.put("m_length",length);
報錯信息如下:
Error in method invocation: Method put( java.lang.String, int ) not found in class'org.apache.jmeter.threads.JMeterVariables'
沒有找到put( Java.lang.String, int )這個方法。此處put的value應該是String
所以需要將values轉換為String類型
最后正確代碼如下:
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; String jsonContent = prev.getResponseDataAsString(); JSONObject response = JSON.parseObject(jsonContent); JSONArray dataList = response.getJSONObject("data").getJSONArray("data"); int length = dataList.size(); vars.put("m_length",length.toString()); log.info("m_length=${m_length}");