У меня есть шаблон отдыха, который вызывает API. Это должно вернуть список имен пользователей, вот результат вызова:
{"userName":"user1"}
{"userName":"user2"}
{"userName":"user3"}
Как вы можете видеть, это на самом деле не формат JSON, поэтому, когда я вызываю свой restTemplate:
restTemplate.postForObject(MONITORING + QUERY, request, MyCustomClass[].class);
Где MyCustomClass:
public class EndpointCallEvents {
private String userName;
}
У меня следующая ошибка:
Could not read document: Can not deserialize instance of [mypackage].MyCustomClass[] out of START_OBJECT token \n at [Source: java.io.PushbackInputStream@25d18d7; line: 1, column: 1]
Но если я вызываю без массива на MyCustomClass, я получаю только один результат:
restTemplate.postForObject(MONITORING + QUERY, request, MyCustomClass.class);
Итак, я попытался с фальшивкой JSON: я получил результат String, поставил "[" и "]" и заменил \ n символы запятыми, за исключением последнего объекта. Затем при вызове restTemplate с классом MyCustomClass []. Я получаю массив объектов MyCustomClass.
Поэтому мне было интересно, как я могу вызвать restTemplate и разобрать его в «реальный JSON» или что-то еще, чтобы получить массив объектов и избежать получения строки вначале, а затем проанализировать ее et c et c
Спасибо, ребята!