A জ্যাকসন একটি জাভা-ভিত্তিক লাইব্রেরি এবং এটি জাভা অবজেক্টকে JSON এবং JSON-এ জাভা অবজেক্টে রূপান্তর করতে কার্যকর হতে পারে। আমরা @JsonFormat টীকা ব্যবহার করে জ্যাকসন লাইব্রেরিতে একাধিক তারিখ বিন্যাস ম্যাপ করতে পারি , এটি একটি সাধারণ-উদ্দেশ্য টীকা যা বৈশিষ্ট্যের মানগুলিকে কীভাবে ক্রমিক করা হবে তার বিবরণ কনফিগার করার জন্য ব্যবহৃত হয়। @JsonFormat তিনটি গুরুত্বপূর্ণ ক্ষেত্র রয়েছে:আকৃতি, প্যাটার্ন, এবং টাইমজোন . আকৃতি ক্ষেত্রটি সিরিয়ালাইজেশনের জন্য ব্যবহার করার জন্য কাঠামো নির্ধারণ করতে পারে (JsonFormat.Shape.NUMBER এবং JsonFormat.Shape.STRING ), প্যাটার্ন ক্ষেত্রটি সিরিয়ালাইজেশন এবং ডিসিরিয়ালাইজেশনে ব্যবহার করা যেতে পারে। তারিখের জন্য, প্যাটার্নে রয়েছে SimpleDateFormat সামঞ্জস্যপূর্ণ সংজ্ঞা এবং অবশেষে, টাইমজোন ক্ষেত্রটি সিরিয়ালাইজেশনে ব্যবহার করা যেতে পারে, ডিফল্ট হল সিস্টেম ডিফল্ট টাইমজোন৷
সিনট্যাক্স
@Target(value={ANNOTATION_TYPE,FIELD,METHOD,PARAMETER,TYPE}) @Retention(value=RUNTIME) public @interface JsonFormat
উদাহরণ
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.readValue(reader, Employee.class); 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") 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; } @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 ]