如何使用 Java 中的 Jackson 将 JSON 对象转换为枚举?

javajsonobject oriented programmingprogramming

JSONObject  可以解析字符串中的文本以生成 Map  类型的对象。Enum  可用于定义 常量集合,当我们需要一个预定义的值列表(这些值不代表某种数字或文本数据)时,我们可以使用枚举。我们可以使用 ObjectMapper 类的 readValue() 方法将 JSON 对象转换为枚举。

在下面的示例中,我们可以使用 Jackson 库将 JSON 对象转换/反序列化为 Java 枚举。

示例

import com.fasterxml.jackson.databind.*;
public class JSONToEnumTest {
   public static void main(String arg[]) throws Exception {
      ObjectMapper mapper = new ObjectMapper();
      Employee emp = mapper.readValue("{\"jobType\":\"CONTRACT\"}", Employee.class);
      System.out.println(emp.getJobType());
   }
   public static class Employee {
      private JobType jobType;
      public JobType getJobType() {
         return jobType;
      }
      public void setJobType(JobType jobType) {
         this.jobType = jobType;
      }
   }
   public enum JobType {
      PERMANENT,
      CONTRACT,
   }
}

输出

CONTRACT

相关文章