如何为放心请求发送一个键的数组值

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"));