У меня есть этот JSon код:Использование Gson с несколькими значениями для объекта
{
"term" : {
"PrincipalTranslations" : {
"0" : {
termine:"casa",
traduzione:"home"
}
"1" :{
termine:"testa",
traduzione:"head"
}
"2" :{
termine:"dito",
traduzione:"finger"
}
}
}
}
Как десериализации объект 0, 1, 2 ?? Если вместо объекта 0, 1, 2 я написал объект «ноль» (и остановился), он работает! Я использовал эту реализацию:
public class Item {
private term term;
public term getTERM() {
return term;
}
}
public class term {
private PrincipalTranslations PrincipalTranslations;
public PrincipalTranslations getPrincipalTranslations() {
return PrincipalTranslations;
}
}
public class PrincipalTranslations {
private zero zero;
public zero getZero() {
return zero;
}
}
public class zero {
private String termine;
public String gettermine() {
return termine;
}
}
и использовать его так, что печать (в правильном направлении) «Каза»
public class MainClass {
public static void main(String[] args) throws IOException {
FileReader reader = new FileReader("/home/peppe/test_ff");
Gson gson = new GsonBuilder().create();
Item p = gson.fromJson(reader, Item.class);
System.out.print(p.getTERM().getPrincipalTranslations().getZero().gettermine());
reader.close();
}
}
Я думаю, что у вас есть ошибки в ваших структурах. Насколько я понимаю, PrincipalTranslations содержит массив элементов, каждый из которых имеет 2 поля (termine и traduzione). Если я правильно просмотрю ваши объявления классов, я могу опубликовать вам полезный код для вас. – Juvanis