la désérialisation des génériques avec gson
Je suis à l'aide de GSON 1.4 et de la sérialisation d'un objet avec les deux génériques arraylist<myObject>
comme suit
String data = Gson.toJson(object, object.class)
. Quand je desirialize je ne gson.fromJson(json, type);
malheureusement je obtenir
java.lang.IllegalArgumentException: ne Pouvez pas définir de java.util.ArrayList
champ ... à java.util.LinkedList
Pourquoi est-ce ? GSON doc note que si je sérialiser avec object.class paramètre il prend en charge les génériques. une idée? merci.
ma classe :
public class IndicesAndWeightsParams {
public List<IndexParams> indicesParams;
public List<WeightParams> weightsParams;
public IndicesAndWeightsParams() {
indicesParams = new ArrayList<IndexParams>();
weightsParams = new ArrayList<WeightParams>();
}
public IndicesAndWeightsParams(ArrayList<IndexParams> indicesParams, ArrayList<WeightParams> weightsParams) {
this.indicesParams = indicesParams;
this.weightsParams = weightsParams;
}
}
public class IndexParams {
public IndexParams() {
}
public IndexParams(String key, float value, String name) {
this.key = key;
this.value = value;
this.name = name;
}
public String key;
public float value;
public String name;
}
OriginalL'auteur Bick | 2010-12-06
Vous devez vous connecter pour publier un commentaire.
Gson a certaines limites à l'égard des collections à cause de Java de type de l'effacement. Vous pouvez en lire plus à ce sujet ici.
De votre question, je vois que vous êtes en utilisant à la fois
ArrayList
etLinkedList
. Êtes-vous sûr de ne pas l'utiliser justeList
, l'interface?Ce code fonctionne:
Mise à jour: j'ai changé de classe pour cela, donc je n'ai pas déconner avec les autres classes:
Et à l'aide de ce code, tout fonctionne pour moi:
btw : deux arraylist avec deux provenant de plusieurs objets. J'ai juste changé la Liste des <obj1> et <obj2>
edit ton post et ajouter le code de votre objet et votre arraylists. Je ne veux pas deviner quoi que ce soit.
vous êtes de droite. Venez d'ajouter au message d'origine.
mis à jour mon post. Si vous avez encore des problèmes, post code qui construit une
IndicesAndWeightsParams
objet à partir de zéro.OriginalL'auteur darioo