Есть ли способ обработать "ответ массива" возврата из вызова API - PullRequest
0 голосов
/ 05 апреля 2019

Я тестирую API, где он возвращает ответ в виде массива, мне трудно хранить его в списке или массиве?

Я использую JsonPath для извлечения записей

APIответ выглядит следующим образом

[
    "String1",
    "String2",
    "String3",
    "String4",
    "String5"
]

Я использую код ниже

Response response;
JsonPath jsonPathEvaluator = response.jsonPath();
jsonPathEvaluator.getString("[0]");

Ответы [ 2 ]

0 голосов
/ 05 апреля 2019

Вы можете попробовать следующее, чтобы получить список строк:

List<String> = jsonPathEvaluator.get();

или

List<String> = jsonPathEvaluator.getList("");
0 голосов
/ 05 апреля 2019

Лучше, если у вас есть теги для списков элементов, если они одного типа: -

{  
   "Strings":[  
      "String1",
      "String2",
      "String3",
      "String4",
      "String5"
   ]
}

JsonArray arrObj = empObj.getJsonArray("Strings");

Это вернет вам JsonArray, который вы можете конвертировать в любой тип в соответствии с вашими требованиями

Если вы не можете изменить ввод json, возможно, это может помочь: -

 String [] json = new  String[10];
 obj = parser.parse(response);
 String jsoString = obj.toString();
 List<String> items = Arrays.asList(jsoString.split("\\s*,\\s*"));
...