GSON désérialisation clé-valeur d'objet personnalisé

J'ai besoin de désérialiser json qui est un tableau de la date et de valeurs longues. Voici un exemple de retour JSON:

[{"2011-04-30T00:00:00-07:00":100}, {"2011-04-29T00:00:00-07:00":200}]

À l'aide de GSON je suis en mesure de désérialiser à un List<Map<Date,String>>, mais voudrait être en mesure de le convertir à une List<MyCustomClass> similaires à:

public class MyCustomClass() { 
    Date date;
    Long value;
}

Je n'arrive pas à trouver un moyen de demander GSON à la carte, la clé/valeur du JSON carte de la date/de la valeur des champs dans ma classe personnalisée. Est-il un moyen de le faire, ou une liste de cartes la seule voie?

  • Il ne pourra pas, sauf si votre document est comme [{"date":"2011"2011-04-30T00:00:00-07:00","value":100}, {"date":"2011-04-29T00:00:00-07:00","value":200}]
  • vraiment? Ma réponse dit le contraire (et a été posté avant que votre commentaire)
  • Ma solution est sur le côté de l'entrée, où si son document sont la façon dont je l'ai recommandé, il aurait pu tout faire gson.fromJSON(inputJson, List<MyCustomClass.class>) sans passer par beaucoup de code. Mais je suis d'accord, votre solution est plus générique et qui correspond à son besoin.
InformationsquelleAutor Rich Kroll | 2011-05-01