сообщество! Я получил следующий JSON ответ от некоторого API:
[
[
[
{
"key": [
"1",
"test1"
],
"value": 1582890257944
},
{
"key": [
"2",
"test2"
],
"value": 1582888081654
},
{
"key": [
"3",
"test3"
],
"value": 1582884771691
}
]
]
]
Я должен создать классы для сопоставления этих JSON с Java классами. Ранее я получил следующие JSON:
[
{
"key": [
"test1"
],
"value": 1
},
{
"key": [
"test2"
],
"value": 2
}
]
и для этого JSON я создал простой класс:
public class SomeClass {
private List<String> key;
private int value;
}
и Джексон без проблем отобразил его правильно ...
Пожалуйста, помогите мне, какова структура Мне нужно для класса / классов? Я пытался написать что-то вроде этого:
List<String> params = new ArrayList<>();
params.add("1");
params.add("test1");
SomeClass someClass = new SomeClass();
someClass.setKey(params);
someClass.setValue(1L);
List<SomeClass> arrays = new ArrayList<>();
arrays.add(someClass);
arrays.add(someClass);
List<List<SomeClass>> arrayLists = new ArrayList<>();
arrayLists.add(arrays);
List<List<List<SomeClass>>> threeLists = new ArrayList<>();
threeLists.add(arrayLists);
Gson gson = new GsonBuilder().setPrettyPrinting().create();
String prettyJson = gson.toJson(threeLists);
System.out.println(prettyJson);
И получил то же самое JSON, которое я получил из ответа ... Должен ли я создать класс со следующей структурой?
List<List<List<String>>> key;
long value;
но я получил ошибку от Джексона:
Исключение в потоке "main" com.faster xml .jackson.databind.ex c .MismatchedInputException: Невозможно десериализовать экземпляр main.entity.SomeClass
из токена START_ARRAY в [ Источник: (StringReader); строка: 2, столбец: 5] (через цепочку ссылок: java .lang.Object [] [0])