आपको जो चाहिए वह है जैक्सन जोडा मॉड्यूल। यदि आप इसे अपने क्लासपाथ में आयात करते हैं, तो आप इसे अपने इच्छित टाइमस्टैम्प के रूप में लिखने के लिए अपने मैपर पर निम्न कार्य कर सकते हैं:
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JodaModule());
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, true);
mapper.writeValueAsString(date);
आप date
को बदल सकते हैं उपरोक्त कोड नमूने में आवश्यकतानुसार अपने POJO के साथ।
संपादित करें:ऐसा लगता है कि आप वास्तव में जो चाहते हैं वह एक कस्टम धारावाहिक है। यह कुछ इस तरह दिखेगा:
public class IsoDateSerializer extends JsonSerializer<DateTime> {
@Override
public void serialize(DateTime value, JsonGenerator jgen, SerializerProvider provider) {
String isoDate = ISODateTimeFormat.dateTime().print(value);
jgen.writeRaw("ISODATE(\"" + isoDate + "\")");
}
फिर आप या तो इसे मैपर पर सभी डेटटाइम प्रकारों के लिए पंजीकृत करेंगे
mapper.addSerializer(DateTime.class, new IsoDateSerializer());
या एनोटेशन का उपयोग करके इसे फ़ंक्शन पर निर्दिष्ट करें
@JsonSerializer(using = IsoDateSerializer.class)
public DateTime createdTime;