Преобразование JSON в возрастеJAVA

Программисты JAVA общаются здесь
Anonymous
Преобразование JSON в возрасте

Сообщение Anonymous »

Я работаю над проектом MicroServices в Java, используя Spring Boot и Eureka.
Я наткнулся на сценарий, в котором я получаю данные из другого микросервиса, используя: < /p>
List ratings=(List) restTemplate.getForObject("http://localhost:8083/microservices/rat ... e23d18450c", Map.class).get("data");
< /code>
Я получаю предупреждение по этой строке: < /p>
Map org.springframework.web.client.RestTemplate.getForObject(String url, Class responseType, Object... uriVariables) throws RestClientException
Type safety: Unchecked cast from Object to List Java(16777761)
Potential null pointer access: The method getForObject(String, Class, Object[]) may return null Java(536871831)


объяснение

i получаю следующий отклик из Url I использовал выше:

yange resson. PrettyPrint-Override ">{
"data": [
{
"ratingId": "6140b240-9a97-430d-92b9-0fcfa8edc96f",
"userId": "ddb8e2a9-ac6f-460d-a43e-eae23d18450c",
"hotelId": "1093aa3f-8529-4330-8ce8-caa82546200b",
"rating": 4,
"feedback": "Died peacefully"
}
],
"message": "Success",
"code": "2000"
}

AIM


Я хочу извлечь список объектов оценки из поля данных и сохранить его в качестве списка . Кроме того, я хочу идентифицировать его и выполнить другие операции. Список .

мой вопрос

, используя этот подход выше, я могу получить список объектов оценки . Но может ли кто -нибудь объяснить , как эта карта (полученная с использованием .get ("data") ) автоматически конвертируется в список с использованием простого преобразования типа? Кроме того, я получаю предупреждение. Есть ли способ удалить его? Я могу отправить список , как и на запрос GET. Но если я попытаюсь использовать метод в списке , я получаю ошибки, см. Ниже
Последующий
  • Я попытался использовать stream () и map () , я получил />
    ratings=ratings.stream().map(rating->{
    // api call to hotel service to obtain the hotel
    Hotel hotel=(Hotel) restTemplate.getForEntity("http://localhost:8086/microservices/hot ... tHotelId(), Map.class).getBody().get("data");
    logger.info("fetched hotel: ", hotel);
    rating.setHotel(hotel);
    }).collect(Collectors.toList());

    Но я получаю ошибку времени компиляции на .map () :
    Stream java.util.stream.Stream.map(Function

    Подробнее здесь: https://stackoverflow.com/questions/749 ... -to-object

Вернуться в «JAVA»