J'utilise JAVA 1.6 et Jackson 1.9.9. J'ai un enum
public enum Event {
FORGOT_PASSWORD("forgot password");
private final String value;
private Event(final String description) {
this.value = description;
}
@JsonValue
final String value() {
return this.value;
}
}
J'ai ajouté une @JsonValue, qui semble faire le travail en sérialisant l'objet :
{"event":"forgot password"}
mais quand j'essaie de désérialiser, j'obtiens une
Caused by: org.codehaus.jackson.map.JsonMappingException: Can not construct instance of com.globalrelay.gas.appsjson.authportal.Event from String value 'forgot password': value not one of declared Enum instance names
Qu'est-ce que je rate ici ?
4 votes
Avez-vous essayé
{"Event":"FORGOT_PASSWORD"}
? Notez les majuscules sur Event et FORGOT_PASSWORD.0 votes
Similaire : Comment annoter des champs d'énumération pour la désérialisation en utilisant Jackson json ?
0 votes
Ceux qui sont venus ici ont également vérifié la syntaxe des getter setter si vous suivez une convention de dénomination différente, c'est-à-dire qu'au lieu de
getValue
ceGetValue
ne fonctionne pas