Salut tout le monde.
voila mon souci. j'ai développé un web service REST en .Net où pour le moment j'envoie pas grand chose, un simple integer, ou du moins une classe où il n'y a que ca comme propriété :
je me retrouve avec le JSON suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public class Transport { public int iTest { get; set; } }
coté client (Android donc) j'ai mis en place une classe identique qui ressemble à ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part {"iTest":2}
et lorsque je fais ma récupération de la manière suivante (je ne vous mets que le bout de code qui disjoncte ce qu'il y a avant cela est ok) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public class Transport { @SerializedName("iTest") public int iTest; public void setiTest(int itest) { iTest = itest; } public int getiTest() { return iTest; } }
j'ai comme message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 try { Transport transport = gson.fromJson(reader, Transport.class); Log.i("GSON","test : " + transport.iTest); } catch (Exception exp) { Log.e("GSON",(exp.getMessage()== null)?"pas de message": exp.getMessage()); }
sympa tout ca n'est ce pas ? alors je pense que j'ai une coquille de déserialisation, peut etre que mon JSON est mauvais ? peut etre que je n'ai pas besoin de passer par une classe ? ayant déja essayé le passage sans encapsuler l'integer dans une classe. je m'y retrouve plus beaucoup je ne sais pas trop quoi essayer. si vous pouvez m'orienter à ce niveau j'en serai ravi.pas de message
Merci d'avance à vous.
Partager