Rumah >Java >javaTutorial >Di Jawa, bagaimana kita boleh memetakan berbilang format tarikh menggunakan Jackson?
Jackson ialah perpustakaan berasaskan Java yang berguna untuk menukar objek Java kepada JSON dan JSON kepada objek Java. Kita boleh memetakan berbilang format tarikh dalam pustaka Jackson menggunakan anotasi @JsonFormat, iaitu anotasi generik yang digunakan untuk mengkonfigurasi butiran tentang cara nilai harta disiri. @JsonFormat mempunyai tiga medan penting: bentuk, mod dan zon masa. Medan shape boleh mentakrifkan struktur yang digunakan untuk bersiri (JsonFormat.Shape.NUMBER dan JsonFormat.Shape.STRING), dan medan mode boleh digunakan untuk bersiri dan penyahsiran. Untuk tarikh, skema mengandungi SimpleDateFormat takrifan serasi, dan akhirnya, medan zon waktu tersedia untuk bersiri dan lalai kepada zon waktu lalai sistem. Terjemahan bahasa Cina bagi
@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 ]
Atas ialah kandungan terperinci Di Jawa, bagaimana kita boleh memetakan berbilang format tarikh menggunakan Jackson?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!