Jackson เป็นไลบรารี Java-based ใช้แปลง Java Object เป็น JSON และ JSON กลับเป็น Java Object Jackson API เร็ว ใช้หน่วยความจำน้อย เหมาะ Object ใหญ่ สามารถ จัดรูปแบบวันที่ ได้โดยใช้เมธอด setDateFormat() ของคลาส ObjectMapper เมธอดนี้ใช้กำหนด DateFormat เริ่มต้นเมื่อ Serialize ค่าเวลาเป็น String และ Deserialize จาก JSON String
Syntax
public ObjectMapper setDateFormat(DateFormat dateFormat)
ตัวอย่าง: Format Date ด้วย Jackson
import java.io.*;
import java.text.*;
import java.util.*;
import com.fasterxml.jackson.databind.*;
public class JacksonDateformatTest {
final static ObjectMapper mapper = new ObjectMapper();
public static void main(String[] args) throws Exception {
JacksonDateformatTest test = new JacksonDateformatTest();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
mapper.setDateFormat(df);
test.dateformat();
}
public void dateformat() throws Exception {
String json = "{\"birthDate\":\"1980-12-08\"}";
Reader reader = new StringReader(json);
Employee emp = mapper.readValue(reader, Employee.class);
System.out.println(emp);
}
}
// Employee class
class Employee implements Serializable {
private Date birthDate;
public Date getBirthDate() { return birthDate; }
public void setBirthDate(Date birthDate) { this.birthDate = birthDate; }
@Override
public String toString() {
return "Employee [birthDate=" + birthDate + "]";
}
}
ผลลัพธ์
Employee [birthDate=Mon Dec 08 00:00:00 IST 1980]
หมายเหตุ: ใช้ SimpleDateFormat กำหนด Pattern ตามต้องการ เช่น yyyy-MM-dd, dd/MM/yyyy, yyyy-MM-dd HH:mm:ss เป็นต้น