如何为放心请求发送一个键的数组值
How to send array value for one the key for rest assured request
下面是应该到达系统但在发送时数组变成字符串的预期请求?
预计
{ "class": "A", "subUsecases": [ "string1", "String2" ] }
为了生成上面的内容,我正在创建 Array 对象并发送请求,但在放心请求中结果是这样的。
实际
{"Class": "A", "subClass": "[\"String1\",\"String2\"]"}
由于上述实际结果,api 认为它是子类的字符串,而不是将其视为数组。但是代码希望它成为子类的数组。
我正在使用 hasmap 创建上面的内容。像这样
@Test
public void mm(){
HashMap<String,String> queryParam = new HashMap<>();
queryParam.put("CLASS","A");
queryParam.put("subClass", arrayMethod("String1","String2"));
}
public String arrayMethod(String s1, String s2){
org.json.simple.JSONArray array = new JSONArray();
array.add(s1);
array.add(s2);
return array.toJSONString();
}
queryParam 将作为 jsonbody.
现在如何按预期发送 json 正文而不是实际的 json 正文。
提前致谢。
将Map
更改为:
HashMap<String, Object> queryParam = new HashMap<>();
并创建一个常规列表或数组,而不是使用 JSONArray
对象。 array.toJSONString()
已经生成 JSON
个字符串,您将其作为值赋给另一个对象。
queryParam.put("subClass", Arrays.asList("String1", "String2"));
下面是应该到达系统但在发送时数组变成字符串的预期请求?
预计
{ "class": "A", "subUsecases": [ "string1", "String2" ] }
为了生成上面的内容,我正在创建 Array 对象并发送请求,但在放心请求中结果是这样的。
实际
{"Class": "A", "subClass": "[\"String1\",\"String2\"]"}
由于上述实际结果,api 认为它是子类的字符串,而不是将其视为数组。但是代码希望它成为子类的数组。
我正在使用 hasmap 创建上面的内容。像这样
@Test
public void mm(){
HashMap<String,String> queryParam = new HashMap<>();
queryParam.put("CLASS","A");
queryParam.put("subClass", arrayMethod("String1","String2"));
}
public String arrayMethod(String s1, String s2){
org.json.simple.JSONArray array = new JSONArray();
array.add(s1);
array.add(s2);
return array.toJSONString();
}
queryParam 将作为 jsonbody.
现在如何按预期发送 json 正文而不是实际的 json 正文。 提前致谢。
将Map
更改为:
HashMap<String, Object> queryParam = new HashMap<>();
并创建一个常规列表或数组,而不是使用 JSONArray
对象。 array.toJSONString()
已经生成 JSON
个字符串,您将其作为值赋给另一个对象。
queryParam.put("subClass", Arrays.asList("String1", "String2"));