Ne pouvez pas trouver un (Map) - Clé deserializer de type [type simple, classe com.comcast.ivr.de base.domaine.AutoHandlingSlotKey]

J'ai un objet de domaine qui dispose d'une Carte:

private Map<AutoHandlingSlotKey, LinkedHashSet<AutoFunction>> autoHandling;

Quand je sérialiser l'objet, j'obtiens ceci:

"autoHandling" : [ "java.util.HashMap", {
} ],

Cette Carte de clé est un Objet personnalisé:

public class AutoHandlingSlotKey implements Serializable {
    private FunctionalArea slot; //ENUM
    private String returnView;   //ENUM

Donc, je ne suis pas sûr de savoir comment corriger ce problème, je reçois quand je désérialiser l'objet:

org.codehaus.jackson.map.JsonMappingException: Can not find a (Map) Key deserializer for type [simple type, class com.comcast.ivr.core.domain.AutoHandlingSlotKey]

Quelqu'un peut-il m'aider à comprendre comment faire pour corriger ce problème si je ne PAS avoir accès à l'objet du domaine à modifier?

  • Concernant 2.9 et, potentiellement, d'autres versions: je comprends de la question github.com/FasterXML/jackson-databind/issues/1419 comme Map de sérialisation avec annoté propriétés tout simplement ne fonctionne pas et Jackson échoue avec un autre message d'erreur.
InformationsquelleAutor Mick Knutson | 2011-06-16