Создание Jackson Mapping POJO для смены ключа метки времени - PullRequest
0 голосов
/ 06 февраля 2020
{
    "1580845108000": {
    "alert-signal": 0.0062766625,
    "dog": 0.0130784754,
    "engine": 0.0708726496,
    "human-voice": 0.1199417934,
    "machinery-impact": 0.0472540185,
    "music": 0.021510249,
    "non-machinery-impact": 0.0242645852,
    "powered-saw": 0.0049560028
    },
    "1580845118000": {
    "alert-signal": 0.0111050699,
    "dog": 0.018236123,
    "engine": 0.0586684793,
    "human-voice": 0.139834553,
    "machinery-impact": 0.04508489,
    "music": 0.0201060269,
    "non-machinery-impact": 0.0192962978,
    "powered-saw": 0.0032691984
    },
    "1580845128000": {
    "alert-signal": 0.0074710315,
    "dog": 0.0575219542,
    "engine": 0.0491682142,
    "human-voice": 0.1408204138,
    "machinery-impact": 0.0702125877,
    "music": 0.0147017343,
    "non-machinery-impact": 0.0283612106,
    "powered-saw": 0.0036001888
    }
}

Для этого JSON ответа от RestTemplate, Как мне построить Java POJO для отображения всех полей, включая ключ (ie метка времени '1580845128000').

В настоящее время у меня есть результат ResponseEntity = restTemplate.exchange (uri, HttpMethod.GET, entity, String.class);

Но вместо String.class я хочу Список <> ReadInstance . Как построить ReadInstance.

-Спасибо

1 Ответ

0 голосов
/ 06 февраля 2020

Прежде всего, опубликованная Json не является списком. Полезная особенность Джексона заключается в том, что он может десериализовать любую заданную json на карту. вы можете десериализовать json в карту и получить значения карты ():

Map<String, ReadInstance> map = (Map<String, ReadInstance>)mapper.readValue(jsonString, Map.class)
...