2015-04-06 22 views
5

mam przedmiot podobny do tego:Modernizacja + GSON Deserializator

"choice": { 
    "000": { 
      "id": "001", 
      "label": "test", 
      "status": "0" 
    }, 
    "001": { 
      "id": "001", 
      "label": "test", 
      "status": "0" 
    }, 
    "002": { 
      "id": "001", 
      "label": "test", 
      "status": "0" 
    }, 
    "003": { 
      "id": "001", 
      "label": "test", 
      "status": "0" 
    }, 
    "004": { 
      "id": "001", 
      "label": "test", 
      "status": "0" 
    } 
    }, 

Jak mogę analizować tego obiektu z Gson + Retrofit? Lub wygenerować POJO? Istnieje prosty sposób na zrobienie tego?

Wielkie dzięki!

Odpowiedz

3

Główną ideą, że wszystko, co masz w obiekcie JSON jest wybór mapa

public class RootObject{ 
    Map <String,ChoiceEntry> choice; 
} 

public class ChoiceEntry{ 
    String id; 
    String label; 
    int status; 
} 
+0

Dobrze, działa. To eleganckie rozwiązanie. Dzięki – Chronos

+0

@Chronos można awansować i oznaczyć jako odpowiedź :) – x90

+0

Możesz również edytować swoje pytanie i podać słowa kluczowe "map", aby sprawić, że Twoje pytanie i moja odpowiedź będą łatwiej dostępne dla innych osób z tym samym problemem. – x90

2

Można utworzyć POJO wklejając ten kod JSON pod tym linkiem: http://pojo.sodhanalibrary.com/.

Masz opublikowany fragment, który nie jest poprawnie sformatowany. Wierzę, że będziesz mieć POJO w wielu klasach i to jest trudne do pracy z niektórymi zastosowaniami, takimi jak odsłon listy.

Daj mi znać, jak to działa. Retrofit jest naprawdę przyjemny w użyciu, ale niezwykle denerwujący, aby dowiedzieć się!

+1

Tak, dziękuję. Polecam http://www.jsonschema2pojo.org/, myślę, że jest lepszy niż ten, który opublikowałeś :) – Chronos

0

Istnieje addon dla studia intellij/android do łatwego generowania POJO.

Nota prawna: Nie mam powiązania z projektem.