Java 将Json字符串字段转换为等效枚举
A有一个映射json文件的类,它看起来像这样Java 将Json字符串字段转换为等效枚举,java,json,Java,Json,A有一个映射json文件的类,它看起来像这样 @JsonIgnoreProperties(ignoreUnknown = true) public class Account{ ... @JsonProperty("status") private String status; ... } 我有一个Enum,它表示Account类的不同状态 public Enum AccountStatus{ BLO("BLO"),ACT("ACT"),PEN("PEN"); pr
@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
类中的等效枚举,以防止每次使用AccountStatus.valueOf()
我现在做的是在Account
类中添加一个方法
public AccountStatus getAccountStatus(){
return AccountStatus.valueOf(status);
}
有什么建议吗?更改:
private String status;
致:
Jackson将自动从JSON-
状态
-属性中选择正确的enum
值,为什么不直接使用enum类呢@JsonProperty(“状态”)私人账户状态;如果枚举值的字符串状态与枚举值的名称完全相同,那么首先为什么需要它?看起来您根本没有使用它。使用带有自定义适配器的moshi怎么样?
private AccountStatus status;