Je cherche à analyser la réponse JSON suivante avec GSON:Deserialising une réponse JSON avec GSON, en utilisant Java
{
"total": 15,
"page": 2,
"pagesize": 10,
"rep_changes": [
{
"user_id": 2341,
"post_id": 2952530,
"post_type": "question",
"title": "unprotected access to member in property get",
"positive_rep": 5,
"negative_rep": 0,
"on_date": 1275419872
},
{
"user_id": 2341,
"post_id": 562948,
"post_type": "question",
"title": "Do you have any recommendations on Blend/XAML books/tutorials for designers?",
"positive_rep": 20,
"negative_rep": 0,
"on_date": 1270760339
}
....
}
Ce sont les deux classes je définis (chaque classe contient les accesseurs respectifs):
public class Reputation {
private int total;
private int page;
private int pagesize;
private List<RepChanges> rep_changes;
public class RepChanges {
private int user_id;
private int post_id;
private String post_type;
private String title;
private int positive_rep;
private int negative_rep;
private long on_date;
Je suis incapable d'analyser la classe RepChanges dans les rep_changes attribut dans la classe de réputation. Des pensées?
Remarque: J'ai réussi à analyser total, page et pageize (il s'agit d'attributs non complexes). Voilà ce que je l'ai fait:
Pour analyser le total, la page et pagesize, j'utilisé (et a bien fonctionné):
Gson gson = new Gson();
Reputation rep = gson.fromJson(jsonText, Reputation.class);
//doing this works:
int page = rep.getPage();
System.out.println(page);
Cependant, lorsque vous faites:
List<RepChanges> rep_changes = rep.getRep_changes();
for(RepChanges r : rep_changes){
System.out.println(r.toString());
}
I (techniquement) ne reçoivent pas une erreur, mais ce qui suit (ce qui semble être un emplacement de mémoire):
[email protected]
Quel est le problème lorsque vous essayez de le désérialiser? – ColinD
@colinD, j'ai édité le problème, j'ai expliqué un peu plus loin ... espérons que donne une meilleure idée;) – savagius