如何在 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.