Jackson 简明教程

Jackson - Overview

Jackson 是一个简单的基于 Java 的库,用于将 Java 对象序列化为 JSON,反之亦然。

Features

  1. Easy to use. - Jackson API 提供了一个高级外观,以便简化常用的用例。

  2. No need to create mapping. - Jackson API 为大多数要序列化的对象提供了默认的映射。

  3. Performance. - Jackson 十分快速,并且占用较少的内存空间,非常适合大型对象图或系统。

  4. Clean JSON. - Jackson 创建干净紧凑的 JSON 结果,非常容易读取。

  5. No Dependency. - Jackson 库无需除 JDK 之外的任何其他库。

  6. Open Source - Jackson 库是开源的,并且可以免费使用。

Three ways of processing JSON

Jackson 提供了三种处理 JSON 的替代方法。

  1. Streaming API - 将 JSON 内容读写为离散事件。JsonParser 读取数据,而 JsonGenerator 写入数据。这是三种方法中最强大的,开销最低,读/写操作最快。它类似于 XML 的 Stax 解析器。

  2. Tree Model - 准备 JSON 文档的内存中树表示形式。ObjectMapper 构建 JsonNode 节点的树。这是最灵活的方法。它类似于 XML 的 DOM 解析器。

  3. Data Binding * - converts JSON to and from POJO (Plain Old Java Object) using property accessor or using annotations. It is of two type. *Simple Data Binding - 将 JSON 转换为 Java 地图、列表、字符串、数字、布尔值和空对象,反之亦然。 Full Data Binding - 将 JSON 转换为任何 JAVA 类型,反之亦然。ObjectMapper 针对两种类型的数据绑定读写 JSON。数据绑定是最便利的方法,类似于 XML 的 JAXB 分析器。