Jackson은 Java 개체를 JSON으로, JSON을 Java 개체로 변환하는 데 유용한 Java 기반 라이브러리입니다. 속성 값이 직렬화되는 방법에 대한 세부 정보를 구성하는 일반 주석인 @JsonFormat 주석을 사용하여 Jackson 라이브러리에서 여러 날짜 형식을 매핑할 수 있습니다. @JsonFormat에는 shape, mode 및 timezone이라는 세 가지 중요한 필드가 있습니다. shape 필드는 직렬화에 사용되는 구조(JsonFormat.Shape.NUMBER 및 JsonFormat.Shape.STRING)를 정의할 수 있으며 mode 필드는 직렬화 및 역직렬화에 사용할 수 있습니다. 날짜의 경우 스키마에는 SimpleDateFormat 호환 정의가 포함되어 있으며 마지막으로 timezone 필드를 직렬화에 사용할 수 있으며 기본값은 시스템 기본 시간대로 설정됩니다.
@Target(value={ANNOTATION_TYPE,FIELD,METHOD,PARAMETER,TYPE}) @Retention(value=RUNTIME) public @interface JsonFormat<strong> </strong>
import java.io.*; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.ObjectMapper; public class JacksonDateformatTest { final static ObjectMapper mapper = new ObjectMapper(); public static void main(String[] args) throws Exception { JacksonDateformatTest jacksonDateformat = new JacksonDateformatTest(); jacksonDateformat.dateformat(); } public void dateformat() throws Exception { String json = "{\"createDate\":\"1980-12-08\"," + "\"createDateGmt\":\"1980-12-08 3:00 PM GMT+1:00\"}"; Reader reader = new StringReader(json); Employee employee = mapper.<strong>readValue</strong>(reader, <strong>Employee.class</strong>); System.out.println(employee); } } // Employee class class Employee implements Serializable { @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "IST") private Date createDate; @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm a z", timezone = "IST")<strong> </strong> private Date createDateGmt; public Date getCreateDate() { return createDate; } public void setCreateDate(Date createDate) { this.createDate = createDate; } public Date getCreateDateGmt() { return createDateGmt; } public void setCreateDateGmt(Date createDateGmt) { this.createDateGmt = createDateGmt; } <strong> </strong> @Override public String toString() { return "Employee [\ncreateDate=" + createDate + ", \ncreateDateGmt=" + createDateGmt + "\n]"; } }
Employee [ createDate=Mon Dec 08 00:00:00 IST 1980, createDateGmt=Mon Dec 08 07:30:00 IST 1980 ]
위 내용은 Java에서 Jackson을 사용하여 여러 날짜 형식을 어떻게 매핑할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!