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解析器。