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


JSONObject 可以将 String 中的文本解析为一种Map类型的对象。Enum可以用来定义常数集合,当我们需要一个预定义的值列表,而不代表某种数字或文本数据时,我们可以使用 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

更新于: 07-Jul-2020

4K+ 浏览

开启你的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.