我正在爲我的應用程序編寫一組REST API以XML和JSON內容類型。我想在設計和實現這些API時,對XML/JSON處理庫做出明智的選擇。以下是對API的各種非功能要求:XML/JSON處理
- 性能 - API處理大量數據(有效負載可能以兆字節爲單位)。與API輸出相比,API輸入大小更少。
- 過濾功能 - API的調用者應該能夠指定過濾條件,根據該過濾條件修剪輸出以優化帶寬消耗。
作爲我們研究和分析的一部分,我們確實瞭解了DOM API和JAXB/Jackson API。考慮到上面列出的非功能性要求,請求您就選擇正確的API提出建議/建議。
這是我對編組&使用這些API的非編組過程的理解。如果我錯了,請糾正我。
- DOM的API - 2點步驟的過程(使用DOM解析器&的XMLSerializer)
XML/JSON來DOM來POJO & POJO到DOM到XML/JSON - JAXB的API - 單步工藝(使用註釋)
XML/JSON到POJO & POJO到XML/JSON
雖然JAXB註釋更容易,更方便,在編組方面/解組沒有的DOM API有更好的表現?
此外,有什麼指導什麼時候選擇什麼XML處理庫? 對於多種內容類型處理,選擇不同的庫會更好嗎?例如。傑克遜的JSON和JAXB的XML(純粹是爲了表現)。
對於JSON內容類型,在將JSON轉換爲DOM對象或從DOM對象轉換JSON時是否存在任何開銷?
總之,去StAX(在JAXB /傑克遜支持)。 DOM不適用於大型XML,所以您需要基於事件的SAX或StAX,並且StAX更易於處理。傑克遜,伍德斯托克是一條路。 – lexicore 2015-02-11 15:09:44
謝謝。感謝您的幫助... – dinup24 2015-02-13 11:50:00