[Javalist] Jackson kérdések

zamek42 zamek42 at gmail.com
2018. Jún. 17., V, 14:43:52 UTC


Sziasztok,

Android + Jackson 2.9.6 problémák a következők:

1. dátum deszerializáció

@JsonProperty("datum")
@JsonFormat(shape =JsonFormat.Shape.STRING,
             pattern ="yyyy.MM.dd.",
             timezone= "CET")
private Datedatun;

a json string a következő (csak dátum, nincs idő):
"datum":"2018.06.17." Minden rendben, de amikor tesztelem, akkor 
előallítok egy date értéket így (c egy Calendar példány a Test-ben): 
protected void checkDate(Date a,int year,int month,int day) {
     c.clear();
     c.set(Calendar.YEAR,year);
     c.set(Calendar.MONTH,month-1);
     c.set(Calendar.DAY_OF_MONTH,day);
     assertEquals(a,c.getTime());
}

a:Sun Jun 17 02:00:00 CEST 2018
c.getTime(): Sun Jun 17 00:00:00 CEST 2018

az a-ból ami a json-ból jött, egyszerűen nem tudom kiutálni a +2 órás zóna offsetet.

Amivel próbálkoztam:

mapper.disable(DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE);
JsonFormat.timezone-ban különböző -akár üres string- formátumokkal.

Makacsul és gonoszan ott vigyorog az offset, holott ez csak sima dátum és nem datetime! Hogy lehet rászedni, hogy hagyja végre az offsetet?

2. tömbben object külön névvel

Az egyik jsonban ilyen kedvesség van:
"uzenetek":[" +
     {
         "uzenet": {
             "id":"198", "targy":"elfogyott a sör", "szoveg":"Hozzatok még" },
"uzenet": { "id":"199", "targy":"esik az eső", "szoveg":"Nincs esernyőm" 
} } ] Ezt vajon hogy tudom felannotálni?
köszi

-- 
thx
Zoltan (Zamek) Zidarics
programmer
email:zamek42 at gmail.com



További információk a(z) Javalist levelezőlistáról