Я пытаюсь что-то действительно просто, и это должно работать:gson fromjson бросает ошибку NoClassDefFound при десериализации пользовательского объекта
Может кто-нибудь прокомментировать, почему я могу сериализовать JSON, но не в состоянии десериализации его обратно и получить свой объект обратно ,
Классы
public class ConfigJsonObj {
public List<ConfigJson_InvitesPending> invites_pending;
public ConfigJsonObj() {
invites_pending = new ArrayList<ConfigJson_InvitesPending>();
}
public ConfigJsonObj(List<ConfigJson_InvitesPending> invitesPendings) {
invites_pending = new ArrayList<ConfigJson_InvitesPending>();
if (invitesPendings!=null) {
invites_pending.addAll(invitesPendings);
}
}
}
public class ConfigJson_InvitesPending {
public String toDisplayName;
public ConfigJson_InvitesPending() {}
public ConfigJson_InvitesPending(String toName) {
toDisplayName = toName;
}
}
Код для сериализации
String json = gson.toJson(configJsonObjObject);
Json генерироваться
{
"invites_pending": [
{
"toDisplayName": "London"
}
]
}
Код десериализации
ConfigJsonObj obj = gson.fromJson(json, ConfigJsonObj.class);
return obj;
Исключение, когда я называю gson.fromJson (...) выше:
java.lang.NoClassDefFoundError
more.nmspace.dto.ConfigJsonObj
Я понятия не имею, почему я не подвожу не класс четкости найдена ошибка!
Восстановите свой проект, убедитесь, что все зависимости присутствуют. Я не думаю, что это проблема Gson. – durron597
сделал это, тот же результат. Все эти классы присутствуют в одном пакете. Оба вышеуказанных класса ConfigJson * ранее были внутренними классами, теперь я переместил их в свои отдельные файлы. –
Я действительно, действительно не думаю, что это проблема Gson. Это * кое-что * связано с вашей сборкой или настройкой проекта, вот почему «NoClassDefFoundError». Однако у этого вопроса недостаточно информации для нас, чтобы помочь вам разобраться в этом. – durron597