嗨我有一個java bean,我需要將其序列化爲json。爲此,我使用的傑克遜處理器非常強大。但我也需要將java bean轉換爲XML。 這可以使用傑克遜處理器來實現嗎?如果是,那麼請提供我可以獲得示例的鏈接。 謝謝!傑克遜處理器爲java bean json xml序列化
1
A
回答
0
是的,這是可能的。您需要使用JAXB批註註釋您的Java bean,這將爲您提供XML編組和解組支持。然後,使用Jackson's support進行JAXB註釋,您可以在Java和JSON之間來回切換。
2
如果您想將Jackson和JSON保留在您的pojos中,您可以創建一個翻譯層,該層可以轉換爲JAXB對象並使用純JAXB(在此情況下,JAXB是一種可能的實現方式)。如果您的域對象直接映射到呈現的JSON,或者您可以使用mixins/PropertyNamingStrategy,則在您的pojos中不需要註釋。我不確定這是否適用於您的情況,但我知道很多環境都在爲此努力。
1
肯定!傑克遜顯然擁有對JSON的一流支持;但也有簡單的擴展模塊來做「mini-JAXB」:jackson-xml-databind。由於傑克遜對JAXB註釋的支持(或者沒有,如果你更喜歡Jackson自己的註釋& xml模塊的其他附加註釋),使用Jackson功能完全可以做到JSON和XML。
我主要推薦這種情況,其中XML支持是遺留問題(這是大多數新服務所做的)。如果XML是主要關注點,那麼使用JAXB可能更有意義。 但即使如此,我建議不要使用從XML到JSON的轉換層;我曾見過的數據格式圖層轉換時遇到了問題,IMO完全是錯誤的地方。這也是爲什麼傑克遜不會嘗試將JSON轉換爲XML(反之亦然)的原因。相反,它只支持將POJO轉換爲外部數據格式。
相關問題
- 1. 傑克遜JSON處理器問題
- 2. 傑克遜JSON反序列化MongoDB ObjectId
- 3. 傑克遜 - 如何處理(反序列化)嵌套的JSON?
- 4. 傑克遜反序列化
- 5. java的傑克遜JSON處理器 - 使用RestTemplate - EnumSet
- 6. 傑克遜錯誤處理
- 7. 傑克遜序列化Collections.unmodifiable *
- 8. 傑克遜XML序列化XMLElementRef名稱
- 9. 反序列化xml 2 pojo傑克遜
- 10. 傑克遜xml空元素序列化
- 11. 傑克遜JSON反序列化
- 12. JSON反序列化與傑克遜
- 13. 序列化遞歸類傑克遜(JSON)
- 14. 傑克遜 - 序列化/反序列化屬性作爲JSON值
- 15. 傑克遜傑森序列化
- 16. 傑克遜反序列化
- 17. 傑克遜XML列表反序列化視爲重複鍵
- 18. Java傑克遜 - XML到POJO
- 19. 傑克遜序列化問題與CommonsMultipartFile
- 20. 傑克遜序列化不能正確處理單引號
- 21. 基於傑克遜字段序列化
- 22. 傑克遜JSON處理器:SerializationConfig.Feature.USE_ANNOTATIONS設置爲false
- 23. 處理傑克遜例外
- 24. 傑克遜反序列化的錯誤處理
- 25. 傑克遜反序列化列表
- 26. 傑克遜JSON反序列化 - 合成列表獲取器
- 27. 傑克遜JSON:如果器具爲java.util.Set
- 28. 反序列化JSON Java對象使用傑克遜
- 29. 與傑克遜JSON反序列化錯誤在Java中
- 30. 傑克遜反序列化JSON到Java對象
如果您有興趣探索使用EclipseLink JAXB(MOXy)來處理POJO到JSON和XML的映射,請讓我知道:http://blog.bdoughan.com/2011/08/binding-to -json-XML的地理編碼,example.html的 –