Mon approche consiste à écrire une méthode publique pour la convertir en Map Implémentez-la simplement aussi facilement que possible. En fait, je pense que l'annotation devrait être placée sur la méthode get de l'instance d'énumération
.
public class Result {
private StatusEnum status;
...
@JsonValue
public StatusEnum getStatus() {
return status;
}
public void setStatus(status) {
this.status = status;
}
}
Je ne l'ai jamais utilisé auparavant, donc je n'y connais pas grand-chose, mais vous pouvez l'essayer Je n'ai pas pu résister à ma curiosité et je l'ai essayé. . . Celui ci-dessus n’est pas réalisable. . . Mais n'utilisez pas @JsonValue
enumPar défaut, Jackson ne peut être sérialisé qu'en index et en noms d'énumération. Si vous devez renvoyer un objet {} json, vous devez implémenter Serializer Jdk8Module vous-même. StatusEnum vous-même.
Mon approche consiste à écrire une méthode publique pour la convertir en Map
.Implémentez-la simplement aussi facilement que possible. En fait, je pense que l'annotation devrait être placée sur la méthode get de l'instance d'énumération
Je ne l'ai jamais utilisé auparavant, donc je n'y connais pas grand-chose, mais vous pouvez l'essayer
Je n'ai pas pu résister à ma curiosité et je l'ai essayé. . . Celui ci-dessus n’est pas réalisable. . . Mais n'utilisez pas @JsonValue
Test perso, ça marche
enum
Par défaut, Jackson ne peut être sérialisé qu'en index et en noms d'énumération. Si vous devez renvoyer un objet{}
json, vous devez implémenterSerializer
Jdk8Module vous-même.
StatusEnum
vous-même.Vous pouvez jeter un œil aux points suivants :
SerializationFeature.WRITE_ENUMS_USING_TO_STRING
@JsonSerialize
et@JsonDeserialize
;@JsonCreator
Si vous avez besoin de désérialisation, vous pouvez utiliser
@JsonSerialize
et. . Le premier est flexible. Le second est facile :)
@JsonDeserialize
.