2017-06-19 1 views
1

Vor einigen Monaten hatte ich this question gefragt, wo ich im Wesentlichen eine Spring @RestController hatte, die JSON-Nutzlasten unbekannter Form/Struktur akzeptierte, und ich brauchte ein Datenmodell, um damit umzugehen.Kann Spring/Jackson XML in einen JsonNode deserialisieren?

Der empfohlene Ansatz bestand darin, ein Jackson als mein Datenmodell zu verwenden, da dies von jeder gültigen JSON-Nutzlast glücklich deserialisieren würde.

Ich versuche jetzt das gleiche aber mit XML zu erreichen. Im Wesentlichen möchte ich, dass derselbe Endpunkt auch beliebige XML annimmt und es in ein speicherinternes Objekt (außer einem String) deserialisiert. Ich hoffe, dass Jackson unter der Haube JSON und XML in JsonNode Instanzen deserialisieren kann, aber wenn nicht, gibt es hier eine "" Entsprechung?

Antwort

1

Es ist möglich, sowohl json als auch xml mit jackson framework deserial zu deserialisieren. Fügen Sie einfach die Abhängigkeit von jackson-dataformat-xml hinzu. Unten finden Sie die Referenz

https://spring.io/blog/2014/12/02/latest-jackson-integration-improvements-in-spring

+0

Thanks @ M.Navy aber das ist nicht, was ich frage hier. Ich kenne * es * möglich, JSON und XML im Frühjahr zu deserialisieren! Ich möchte, dass mein RestController * any * XML als body/request entity akzeptiert und ich möchte, dass es auf den gleichen Objekttyp deserialisiert wird! Ich kann das mit JSON über 'JsonNode' machen, aber ich frage mich, was das Äquivalent für XML ist. – smeeb

+0

Also, wenn '' ist die Request-Entity, ich will das zu etwas deserialisiert (wieder, nicht eine Zeichenfolge), die es darstellen kann. Und wenn '' als Request-Entity gesendet wird, möchte ich, dass es zum gleichen Objekttyp deserialisiert wird wie der erste! – smeeb

+0

Möchten Sie XML-Daten zu einem JSON-Objekt oder POJO deserialisieren? –