gson.fromJson retour des valeurs null
C'est Ma Chaîne JSON : "{'userName' : 'Bachooo'}"
Conversion de Chaîne JSON à LoginVO logique est:
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
LoginVO loginFrom = gson.fromJson(jsonInString, LoginVO.class);
System.out.println("userName " + loginFrom.getUserName()); //output null
Mon LoginVO.class est:
public class LoginVO {
private String userName;
private String password;
public String getUserName()
{
return userName;
}
public void setUserName(String userName)
{
this.userName = userName;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
}
Remarque, je suis en utilisant jdk 1.8.0_92
Sortie de loginForm.getUserName() est NULL
au lieu de "Bachooo"
une idée sur ce problème?
Et qu'advient-il si vous ne l'utilisez
si je n'utilise Gson gson = new Gson() l'Infini boucle récursive appel com.google.gson.interne.$Gson$Types.résoudre($Gson$Types.java:375)
ce
Double Possible de Comment dois-je échapper à cordes en JSON?
^ c'est à dire des apostrophes ne sont pas JSON valide.
Gson gson = new Gson()
?si je n'utilise Gson gson = new Gson() l'Infini boucle récursive appel com.google.gson.interne.$Gson$Types.résoudre($Gson$Types.java:375)
ce
excludeFieldsWithoutExposeAnnotation
dit? "exposer uniquement les champs qui sont annotés et ignorer le reste "Double Possible de Comment dois-je échapper à cordes en JSON?
^ c'est à dire des apostrophes ne sont pas JSON valide.
OriginalL'auteur PAncho | 2016-05-26
Vous devez vous connecter pour publier un commentaire.
Puisque vous êtes réglage
excludeFieldsWithoutExposeAnnotation()
de configuration sur leGsonBuilder
vous devez mettre@Expose
annotation sur les champs que vous souhaitez sérialiser/désérialiser.Donc, pour
excludeFieldsWithoutExposeAnnotation()
de sérialiser/désérialiser vos champs, vous devez ajouter cette annotation:Ou, vous pourriez supprimer
excludeFieldsWithoutExposeAnnotation()
de laGsinBuilder
.Ou l'autre option est de simplement dire de nouvelles GsonBuilder().créer() si vous n'avez pas d'accès pour modifier la classe
OriginalL'auteur Vikas Madhusudana
Essayez s'il vous plaît. vous utilisez Gson pot pour l'exécuter.
OriginalL'auteur Kumaresan Perumal