как вставить массив в JSONArray с уверенностью - PullRequest
0 голосов
/ 27 февраля 2019

Я хочу вставить массив с уверенностью.tokenUUIDs - это массив (переменная, которую я определил на предыдущем шаге).Когда я запускаю код - tokenUUIDs получил правильное значение, но ArraytokenUUIDs не получил что-то хорошее.Он получил: [[Ljava.lang.String;@6fc0bbc6]

Это мой метод:

public static void releaseTokens(String[] tokenUUIDs )
{
    try{
        RequestSpecification request = RestAssured.given();
        request.header("Content-Type", "application/json");

        JSONObject releaseTokens = new JSONObject();
        releaseTokens.put("partnerCode", commonOps.partnerCode);
        releaseTokens.put("apiAccessToken",commonOps.openAccessToken);
        releaseTokens.put("sessionUUID",SessionUUID);
        releaseTokens.put("taskUUID","TaskUUID");

        JSONArray ArraytokenUUIDs = new JSONArray();
        ArraytokenUUIDs.add(tokenUUIDs);


        releaseTokens.put("tokenUUIDs", ArraytokenUUIDs);


        request.body(releaseTokens.toJSONString());

        Response response = request.post((getData("APIenv") + "/api/sessions/releaseTokens.php"));
        int code = response.getStatusCode();

        Assert.assertEquals(code, 200);

        System.out.println("Status code for releaseTokens.php is" +code );

        ResponseBody bodyreleaseTokens = response.getBody();
        System.out.println("Body bodyreleaseTokens.php  " + bodyreleaseTokens.asString() );
        String statusbodyreleaseTokens = bodyreleaseTokens.asString();

        String status = response.getBody().jsonPath().getString("status");
        Assert.assertEquals(status, "OK");




        test.log(LogStatus.PASS, "bodyreleaseTokens is done" );
    }

    catch (Exception e)
    {

        test.log(LogStatus.FAIL, "bodyreleaseTokens is not done");
        test.log(LogStatus.FAIL, e.getMessage());
        fail ("bodyreleaseTokens is not done");
    }

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Попробуйте добавить каждый токен индивидуально

  for (String s : tokenUUIDs){
      ArraytokenUUIDs.add(s);
   }
0 голосов
/ 27 февраля 2019

Изменить

ArraytokenUUIDs.add(tokenUUIDs);

на

for (String tokenUUID : tokenUUIDs) {
    ArraytokenUUIDs.add(tokenUUID);
}

Также учтите, что переменные в java в качестве стандарта именуются строчными буквами, чтобы избежать путаницы с классами.

...