SpringMVC 中整合之JSON、XML

每次看到好的博客我就想好好的整理起來,便於後面本身複習,同時也共享給網絡上的夥伴們!html

博客地址:spring

  springMVC整合Jaxb二、xStream:  http://www.cnblogs.com/hoojo/archive/2011/04/29/2032571.htmljson

  springMVC整合castor、jibx、Jackson:  http://www.cnblogs.com/hoojo/archive/2011/04/29/2032609.html網絡

一、前言app

  SpringMVC中整合了JSON、XML的視圖,能夠經過這些視圖完成Java對象到XML、JSON的轉換。轉換XML提供了MarshallingView,開發者只需用注入相應的marshaller、和屬性配置,便可自動完成Java的Model對象中的數據到XML的編組。框架

二、技術:  工具

  涉及到Jackson、xStream、Jibx、Jaxb二、castorr等技術,若是你對這些技術還不是很瞭解。建議閱讀:http://www.cnblogs.com/NF-CHH/archive/2013/02/24/JSON-XML.html。這裏只對涉及到的技術進行總結與概括。spa

  2.一、Jaxb2編組XML[採用的視圖:MarshallingView]xml

  Jaxb2能夠完成XML和Java的相互轉換,在WebService中用得較多。htm

  總結,若是你想將一些Java的基本類型轉換成XML。那麼你得建立一個帶getter、setter方法的JavaBean。而後在Bean的getter方法進行相應的Annotation註解便可完成轉  換。

  2.二、xStream轉換XML[採用的視圖:MarshallingView]

  xStream能夠輕易的將Java對象轉換成XML、JSON,Spring整合利用xStream轉換xml。

  總結,xStream相對jaxb2要簡單些。並且相對比較靈活,能夠輕易的轉換Java普通類型。

  2.三、Castor轉換XML[採用的視圖:MarshallingView]

  castor能夠經過一個mapping.xml文件對即將轉換的Java對象進行描述,而後能夠將Java對象按照描述的狀況輸出XML內容。

  總結,使用castor能夠轉換普通不通過封裝的Java類型,可是Map對象則須要進行簡單對象封裝,而後在mapping中進行描述才行。Castor和其餘的框架不一樣的是,可    以在xml配置中進行轉換對象的描述規則。

  2.四、Jibx轉換XML[採用的視圖:MarshallingView]

   jibx能夠完成Java對象到xml的轉換,可是它須要bind.xml的配置以及多個工具類生成Jibx_BindList信息,相對與上面三種來講這種稍微複雜些。

   總結,jibx應用比較廣,在WebService中都有使用jibx。Jibx速度比較快,就是在開始部署使用的時候須要寫bind.xml文件。不過官方提供了工具類,這個也不麻煩。

  2.五、Jackson轉換Java對象[採用的視圖:MappingJacksonJsonView]

  jackson有專門的視圖MappingJacksonJsonView,只需用配置這個視圖就能夠完成轉換json。

  總結,spring對jackson提供了專門的視圖,整合起來也比較方便。並且jackson也比較簡單易用。

相關文章
相關標籤/搜索