Использование Gson с несколькими значениями для объекта - PullRequest
0 голосов
/ 19 февраля 2012

У меня есть этот код Json:

{
 "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;
        }
}

и используйте его так, чтобы оно печатало (правильным образом) "casa"

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();
      }
}

1 Ответ

0 голосов
/ 20 февраля 2012

Если вы хотите назвать объект нулем, чем в вашем классе 'Principal Translations', используйте аннотацию 'SerializedName': http://google -gson.googlecode.com / svn / tags / 1.2.3 / docs / Javadocs / ком / Google / gson / аннотаций / SerializedName.html

Это будет выглядеть так:

@SerializedName("0")
public Zero zero;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...