Jackson -Deserialisierung nicht für Boolesche und int durchführenJava

Java-Forum
Anonymous
 Jackson -Deserialisierung nicht für Boolesche und int durchführen

Post by Anonymous »

mein xml < /p>

Code: Select all


1
0


< /code>
Pojo -Struktur ist < /p>
class Parent
{
@JacksonXmlElementWrapper(localName = "childs")
ArrayList childs;
}
class Child
{
@JacksonXmlProperty(localName = "child")
boolean child;
}
Jetzt sollte Jackson diesen Wert 1/0 in boolean konvertieren. Aber da Jackson es als String annimmt, erhalte ich diesen Fehler:

com.fasterxml.jackson erkannt < /p>
< /blockquote>
Ich weiß, dass dies mit einer benutzerdefinierten Deserialisierung gelöst werden kann, aber ich suche eine sauberere Lösung.

Code: Select all

@JsonFormat(shape = JsonFormat.Shape.STRING) private int chlid;
// hat nicht funktioniert
[*] cocerfig // hat nicht funktioniert
[*] @jsoncreator mit Konstruktor und String als Parameter // funktioniert, aber nicht machbar, in jeder Klasse nicht verwendete Konstruktor zu schreiben

my xmlmapper

Code: Select all

    this.mXmlMapper = new XmlMapper();
this.mXmlMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.NONE);
this.mXmlMapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
this.mXmlMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
this.mXmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true);
Das gleiche Problem gilt für int Variablen, Fehlerangabe String kann nicht in int .>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post