总结一下JMeter提取将数据库查询表列名和对应值格式的接口返回值的方法
先看下接口返回:
[
{
"TableName":"Table",
"DataColumn":
[
"PKUser",
"HeadFolder",
"HeadUpdateTime",
"CountReading",
"CountFavourate",
"CountSent",
"CreateTime",
"Status",
"Longitude",
"Latitude",
"LocationUpdateTime",
"ChatMessageServer",
"LastShakeTime",
"FoowwRowVersion",
"SiteID"
],
"DataRowValue":
[
[
"bc5db87b-c243-422a-acad-dc952ff6b509",
"",
"",
"0",
"1",
"0",
"2019-06-12 16:15:50",
"1",
"121.4644550000000000",
"31.3043640000000000",
"2020-04-10 11:30:52",
"book.aa.com",
"",
"12343111",
"230003334"
]
]
}
]
1、获取DataColumn list
BeanShell:
import org.json.*;
import org.json.JSONObject;
import org.json.JSONArray;
import java.util.*;
try{
//获取请求的返回值
String response = prev.getResponseDataAsString();
//将String类型的返回值构造成JSONArray对象
JSONArray ResponseArray = new JSONArray(response);
JSONObject JSONObject = (JSONObject)ResponseArray.getJSONObject(0);
log.info("获取JSONObject**************" +JSONObject);
//获取列
JSONArray DataColumnArray = new JSONArray(JSONObject.getString("DataColumn"));
log.info("获取DataColumnArray**************" + DataColumnArray);
//创建DataColumnArraylist list
List DataColumnArraylist = new ArrayList();
for(int i=0; i < DataColumnArray.length(); i++){
String tmpDataColumnvalue = DataColumnArray.getString(i);
DataColumnArraylist.add(tmpDataColumnvalue);
}
log.info("******DataColumnArraylist+++++++++++++" + DataColumnArraylist);