Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将Json字符串字段转换为等效枚举_Java_Json - Fatal编程技术网

Java 将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

A有一个映射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
类中的等效枚举,以防止每次使用
AccountStatus.valueOf()

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

 public AccountStatus getAccountStatus(){
   return AccountStatus.valueOf(status);
 }
有什么建议吗?

更改:

private String status;
致:


Jackson将自动从JSON-
状态
-属性

中选择正确的
enum
值,为什么不直接使用enum类呢@JsonProperty(“状态”)私人账户状态;如果枚举值的字符串状态与枚举值的名称完全相同,那么首先为什么需要它?看起来您根本没有使用它。使用带有自定义适配器的moshi怎么样?
private AccountStatus status;