Десериализация массива массивов от json - PullRequest
1 голос
/ 26 февраля 2020

Я пытаюсь десериализовать массив массивов строк, используя ObjectMapper. Входные данные имеют следующую структуру: [["key", "value"], ["Car", "1"], ["SUV", "1.1"]]

Я попытался десериализовать это, используя следующий метод:

JavaType itemType = objectMapper.getTypeFactory().constructCollectionType(List.class, Array.class);
List<T> mutableList = objectMapper.readValue(json.or("[]"), itemType);

Однако компилятор жалуется на необработанное использование параметризованного класса , Может кто-нибудь объяснить, как сериализовать такой вход?

1 Ответ

1 голос
/ 26 февраля 2020

У вас есть JSON - массив с массивом строковых объектов, и в сообщении об ошибке указывается точный тип, поэтому я бы предложил использовать TypeReference с точным типом

List<List<String>> listCar = objectMapper.readValue(json.or("[]"), new TypeReference<List<List<String>>>(){});
...