将Json字符串字段转换为等效于Enum的

时间:2019-06-04 09:31:19

标签: java json

有一个映射json文件的类,它看起来像这样

 @JsonIgnoreProperties(ignoreUnknown = true)
 public class Account{
  ...
  @JsonProperty("status")
  private String status;
  ...
 }

,我有一个Enum代表Account类的不同状态

public Enum AccountStatus{

 BLO("BLO"),ACT("ACT"),PEN("PEN");
 private String status;

 private AccountStatus(String status){
  this.status = status;
 }
}

是否有一种方法可以将json属性直接映射到Account类中的等效Enum,以防止每次使用AccountStatus.valueOf()

我现在所做的是,我在Account类中添加了一个方法

 public AccountStatus getAccountStatus(){
   return AccountStatus.valueOf(status);
 }

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

更改:

private String status;

收件人:

private AccountStatus status;

Jackson将自动从JSON-enum-属性中选择正确的status