Jackson教學


Jackson是一個簡單基於Java應用庫,Jackson可以輕鬆的將Java物件轉換成json物件和xml文件,同樣也可以將json、xml轉換成Java物件。Jackson所依賴的jar包較少,簡單易用並且效能也要相對高些,並且Jackson社群相對比較活躍,更新速度也比較快。

特點

  • 容易使用 - jackson API提供了一個高層次外觀,以簡化常用的用例。

  • 無需建立對映 - API提供了預設的對映大部分物件序列化。

  • 效能高 - 快速,低記憶體占用,適合大型物件圖表或系統。

  • 乾淨的JSON - jackson建立一個乾淨和緊湊的JSON結果,這是讓人很容易閱讀。

  • 不依賴 - 庫不需要任何其他的庫,除了JDK。

  • 開原始碼 - jackson是開源的,可以免費使用。

三種方式處理JSON

提供了三種不同的方法來處理JSON

  • 流式API - 讀取並將JSON內容寫入作為離散事件。 JsonParser讀取資料,而JsonGenerator寫入資料。它是三者中最有效的方法,是最低的開銷和最快的讀/寫操作。它類似於Stax解析器XML。

  • 樹模型 - 準備JSON檔案在記憶體裡以樹形式表示。 ObjectMapper構建JsonNode節點樹。這是最靈活的方法。它類似於XML的DOM解析器。

  • 資料系結 - 轉換JSON並從POJO(普通Java物件)使用屬性存取或使用注釋。它有兩個型別。

    • 簡單的資料系結 - 轉換JSON和Java Maps, Lists, Strings, Numbers, Booleans 和null 物件。

    • 全部資料系結 - 轉換為JSON從任何JAVA型別。

    ObjectMapper讀/寫JSON兩種型別的資料系結。資料系結是最方便的方式是類似XML的JAXB解析器。