Question

Je vais avoir des problèmes avec GSON, désérialisation principalement de JSON à un POJO.

Je le JSON suivant:

{
    "events": 
    [
        {
            "event": 
            {
                "id": 628374485, 
                "title": "Developing for the Windows Phone"
            }
        },
        {
            "event": 
            {
                "id": 765432, 
                "title": "Film Makers Meeting"
            }
        }
    ]
}

Avec les années POJO suivant ...

public class EventSearchResult {

    private List<EventSearchEvent> events; 

    public List<EventSearchEvent> getEvents() {
        return events;
    }

}
public class EventSearchEvent {

    private int id; 
    private String title;


    public int getId() {
        return id;
    }

    public String getTitle() {
        return title;
    }
}

... et je désérialisation avec le code suivant, où l'entrée JSON est le JSON ci-dessus

Gson gson = new Gson();
return gson.fromJson(jsonInput, EventSearchResult.class);   

Cependant, je ne peux pas obtenir la liste des événements correctement remplir. Le titre et id sont toujours nuls. Je suis sûr que je manque quelque chose, mais je ne suis pas sûr de ce que. Une idée?

Merci

Était-ce utile?

La solution

OK, je me suis dit cela. J'atteste cela une longue journée de codage avec peu de sommeil la veille!

La structure de données « événements » contenait plusieurs « événements », qui contiennent chacune un type « événement ». Je devais déplacer le EventSearchEvent sous une nouvelle classe appelée EventContainer. Ce conteneur d'événement contenait un champ « événement ». Cet « événement » a été le « EventSearchEvent ». Par conséquent, lorsque GSON itérer sur le tableau JSON, il a vu le conteneur (qui est de type « événements ») et puis à l'intérieur de cet objet, il avait l'air d'un membre « événement ». Quand il a finalement trouvé que chargé l'identifiant et le titre approprié.

La courte: je ne pas ma hiérarchie d'objets a été construit correctement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top