Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何发送一个密钥的数组值以满足rest-assured请求_Java_Arrays_Json_Rest Assured_Rest Assured Jsonpath - Fatal编程技术网

Java 如何发送一个密钥的数组值以满足rest-assured请求

Java 如何发送一个密钥的数组值以满足rest-assured请求,java,arrays,json,rest-assured,rest-assured-jsonpath,Java,Arrays,Json,Rest Assured,Rest Assured Jsonpath,下面是预期的请求,它应该命中系统,但在发送时数组变成字符串 期望 {“类”:“A”,“子用例”:[“string1”,“String2”]} 为了生成上面的内容,我正在创建数组对象并发送请求,但在rest-assured请求中结果是这样的 实际的 {"Class": "A", "subClass": "[\"String1\",\"String2\"]"} 由于上述实际结果,

下面是预期的请求,它应该命中系统,但在发送时数组变成字符串

期望
{“类”:“A”,“子用例”:[“string1”,“String2”]}

为了生成上面的内容,我正在创建数组对象并发送请求,但在rest-assured请求中结果是这样的

实际的

{"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();
    }
@测试
公共空间(mm){
HashMap queryParam=新HashMap();
queryParam.put(“类别”、“A”);
queryParam.put(“子类”,数组方法(“String1”,“String2”);
}
公共字符串数组方法(字符串s1、字符串s2){
org.json.simple.JSONArray数组=新的JSONArray();
数组.add(s1);
数组。添加(s2);
返回array.toJSONString();
}
queryParam将作为jsonbody运行

现在,如何按预期发送json正文而不是实际的json正文。
提前感谢。

将地图更改为:

HashMap<String, Object> queryParam = new HashMap<>();

最好使用一个类作为结果你介意详细说明吗?
queryParam.put("subClass", Arrays.asList("String1", "String2"));