[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