Java 如何使用简单的json在请求体下传递json数组
我正在使用下面的代码来自动化RESTAPI。 请帮助我理解如何为下面提到的示例数据放置整个json数据,因为输入有数组,而到目前为止,我使用的是没有数组的平面jsonJava 如何使用简单的json在请求体下传递json数组,java,json,rest-assured,Java,Json,Rest Assured,我正在使用下面的代码来自动化RESTAPI。 请帮助我理解如何为下面提到的示例数据放置整个json数据,因为输入有数组,而到目前为止,我使用的是没有数组的平面json methoddummy() { RestAssured.baseURI=”http://mydummyURL"; RequestSpecification request=restasured.given(); JSONObject requestParams=新的JSONObject(); requestParams.put(“
methoddummy()
{
RestAssured.baseURI=”http://mydummyURL";
RequestSpecification request=restasured.given();
JSONObject requestParams=新的JSONObject();
requestParams.put(“id”,“THAILAND”);//问题在于此代码
标题(“内容类型”、“应用程序/json”);
body(requestParams.toJSONString());
Response=request.post(“/EndPoint”);
}
其中json主体如下所示
{
“tag1”:“value1”,
“tag2”:“value2”,
“tag3”:{
“tag31”:“value31”,
“tag32”:“value32”
},
“tag4”:[{
“域名”:“ABC”,
“域ID”:“123ABC123”,
“域GUID”:“TestMyDomain”
},
{
“域名”:“XYZ”,
“域ID”:“123XYZ123”,
“域GUID”:“TestMyDomain”
}
]
}
ArrayList数组=新建ArrayList();
JSONObject json=新的JSONObject();
试一试{
put(“key”,“value”);//您的json
}捕获(JSONException e){
e、 printStackTrace();
}
add(json);
字符串printjsonarray=array.toString();//将此消息传递到请求中
ArrayList数组=新建ArrayList();
JSONObject json=新的JSONObject();
试一试{
put(“key”,“value”);//您的json
}捕获(JSONException e){
e、 printStackTrace();
}
add(json);
字符串printjsonarray=array.toString();//将此消息传递到请求中
//为数组中的变量创建Java类
JsonArrayData tag4paramVal1 = new JsonArrayData("ABC","123ABC123","TestMyDomain");
JsonArrayData tag4paramVal2 = new JsonArrayData("XYZ","123XYZ123","TestMyDomain");
Object[] tag4ValArray = {tag4paramVal1,tag4paramVal2};
String reqJson = null;
List<String> tag4Data = new ArrayList<String>();
for(Object obj:tag4ValArray){
reqJson = mapper.writeValueAsString(obj);
System.out.println(reqJson);
tag4Data.add(reqJson);
}
System.out.println(tag4Data);
HashMap<String,List<String>> finalReq = new HashMap<String,List<String>>();
finalReq.put("\"tag4\":",tag4Data);
String finalreqString = finalReq.toString();
System.out.println(finalreqString);
finalreqString = finalreqString.replace('=', ' ');
System.out.println(finalreqString);
}
//为数组中的变量创建Java类
JsonArrayData tag4paramVal1 = new JsonArrayData("ABC","123ABC123","TestMyDomain");
JsonArrayData tag4paramVal2 = new JsonArrayData("XYZ","123XYZ123","TestMyDomain");
Object[] tag4ValArray = {tag4paramVal1,tag4paramVal2};
String reqJson = null;
List<String> tag4Data = new ArrayList<String>();
for(Object obj:tag4ValArray){
reqJson = mapper.writeValueAsString(obj);
System.out.println(reqJson);
tag4Data.add(reqJson);
}
System.out.println(tag4Data);
HashMap<String,List<String>> finalReq = new HashMap<String,List<String>>();
finalReq.put("\"tag4\":",tag4Data);
String finalreqString = finalReq.toString();
System.out.println(finalreqString);
finalreqString = finalreqString.replace('=', ' ');
System.out.println(finalreqString);
}
JsonArrayData tag4paramVal1 = new JsonArrayData("ABC","123ABC123","TestMyDomain");
JsonArrayData tag4paramVal2 = new JsonArrayData("XYZ","123XYZ123","TestMyDomain");
Object[] tag4ValArray = {tag4paramVal1,tag4paramVal2};
String reqJson = null;
List<String> tag4Data = new ArrayList<String>();
for(Object obj:tag4ValArray){
reqJson = mapper.writeValueAsString(obj);
System.out.println(reqJson);
tag4Data.add(reqJson);
}
System.out.println(tag4Data);
HashMap<String,List<String>> finalReq = new HashMap<String,List<String>>();
finalReq.put("\"tag4\":",tag4Data);
String finalreqString = finalReq.toString();
System.out.println(finalreqString);
finalreqString = finalreqString.replace('=', ' ');
System.out.println(finalreqString);
String domainName;
String domainId;
String domainGUID;
public JsonArrayData(String domainName,String domainId,String domainGUID){
this.domainName = domainName;
this.domainId = domainId;
this.domainGUID = domainGUID;
}
public String getDomainName() {
return domainName;
}
public void setDomainName(String domainName) {
this.domainName = domainName;
}
public String getDomainId() {
return domainId;
}
public void setDomainId(String domainId) {
this.domainId = domainId;
}
public String getDomainGUID() {
return domainGUID;
}
public void setDomainGUID(String domainGUID) {
this.domainGUID = domainGUID;
}