2017-06-19 5 views
1

Il ya plusieurs mois, j'avais demandé this question où essentiellement j'avais un Spring @RestController acceptant des charges JSON de forme inconnue/structure et j'avais besoin d'un modèle de données pour le gérer.Est-ce que Spring/Jackson peut désérialiser n'importe quel XML dans un JsonNode?

L'approche recommandée était d'utiliser un Jackson JsonNode comme mon modèle de données car il serait heureusement désérialisé à partir de toute charge utile JSON valide. J'essaye maintenant d'accomplir la même chose mais avec XML. Essentiellement, je veux que le même point de terminaison accepte également n'importe quel XML et le désérialise en un objet en mémoire (autre qu'une chaîne). J'espère que sous le capot Jackson peut désérialiser à la fois JSON et XML en JsonNode instances, mais si non, y at-il un équivalent "XmlNode" ici?

Répondre

1

Il est possible de désérialiser à la fois json et xml en utilisant une armature jackson. Ajoutez simplement la dépendance de jackson-dataformat-xml. Trouvez ci-dessous la référence

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

+0

Merci @ M.Navy mais c'est pas ce que je demande ici. Je sais qu'il est * possible * de désérialiser JSON et XML au printemps! Je veux que mon RestController accepte * tout * XML en tant qu'entité body/request et que je le désérialise au même type d'objet! Je peux le faire avec JSON via 'JsonNode' mais je me demande quel est l'équivalent pour XML. – smeeb

+0

Donc si '' est l'entité de la demande, je veux que cela soit désérialisé à quelque chose (encore une fois, pas une chaîne) qui peut le représenter. Et si '' est envoyé en tant qu'entité de la requête, je veux la désérialiser avec le même type d'objet exact que le premier! – smeeb

+0

Voulez-vous désérialiser des données XML dans un objet JSON ou POJO? –