У меня есть ответ веб-службы Java как объект, который имеет карту с целым числом как ключ и пользовательский объект в качестве значения. Пользовательский объект, в свою очередь, состоит из списка другого настраиваемого объекта. Когда я пытаюсь десериализовать ответ, все десериализуется, за исключением списка настраиваемого объекта. Список пуст.Deserializing объект JSON в Java
Мой код:
String dataFromServer ="";
GsonBuilder gsonBuilder = new GsonBuilder();
Gson gson = gsonBuilder.create();
Type listType = new TypeToken<OuterCustomResponse>() {}.getType();
OuterCustomResponse respo = gson.fromJson(data, Books.class);
OuterCustomResponse
имеет следующую структуру:
OuterCustomResponse {
private int age;
private String name;
private Map<Integer,CutomObj1> obj;
}
CtomObj1 {
List<CustomObj2> customObj2;
}
Проблема в ответ содержит возраст, имя и объект карты, но внутри объекта карты, список пустой. Я попытался написать десериализатор для CustomObj2
, выполнив десериализатор JSON, но не использовал. Любая помощь приветствуется.
Выполняет ли 'CustomObj1' класс' Serializable'? Возможно, если это не так, сериализовать его невозможно, и вы получите неправильный вывод. – Victor
Я пробовал имплантировать srializablr в customobj1, не повезло. но customobj1 имеет другие атрибуты string и intgr, которые getd proprly. – parameswar
Итак, ваша проблема связана только с 'CustomObj2'? Что у вас внутри? Это также «Serializable»? – Victor