için seri hale getirme zamanından itibaren zaman kaybını kaybediyor Jackson'ı kullanarak bir Joda DateTime nesnesini serileştirmeye ve sonra yeniden serileştirmeye çalışıyorum, ancak nesneyi tamamen kaldırmıyor. Zaman dilimi bilgisi kaybolmuş gibi görünüyor.Jackson, JodaTime
Bu kod:
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JodaModule());
mapper.configure(com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATES_AS_TIMESTAMPS , false);
DateTime dt = DateTime.now();
String j = mapper.writeValueAsString(dt);
DateTime dt2 = mapper.readValue(j, DateTime.class);
System.out.println("json: " + j);
System.out.println("eq? " + (dt.equals(dt2)));
System.out.println("dates:\n" + dt + "\n" + dt2);
çıkışlar bu:
json: "2013-10-18T14:10:52.458-07:00"
eq? false
dates:
2013-10-18T14:10:52.458-07:00
2013-10-18T21:10:52.458Z
bu tasarımdan mı? Burada yapabileceğim bir şey var mı? Bu konuda SO ile ilgili bir kaç soru gördüm, ancak bu konuyla ilgilenmeyen hiç bir şey yok.
Ben DateTime
bir üst sınıf olan the Javadoc for AbstractInstant#equals() itibaren joda 2.1 ve Jackson 2.1
Yani Joda nesneleri işlemek için ayrılmış tamamen ayrı bir modül var, ama mümkün olan en basit şekilde seri hale getirme, önemli bilgileri saklamak için başarısız ... Bu utanç verici. Görünüşe göre kendi desperizer'ımı yazmam gerekecek. – Vysarat
Şikayet etmek yerine, gerçekten modülün yazarlarına başvurmayı denediniz mi? SO'da şikayet etmek OSS projeleri ile çalışmak için verimli bir yol değildir. – StaxMan