Jackson - 概述


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

特征

  • 便于使用。- jackson API 提供了一个高级外观来简化常用用例。

  • 无需创建映射。- jackson API 为大多数要序列化的对象提供默认映射。

  • 表现。- jackson 安静快速,内存占用低,适用于大型对象图或系统。

  • 干净的 JSON。- Jackson 创建了一个干净紧凑的 JSON 结果,易于阅读。

  • 无依赖性。- Jackson 库除了 jdk 之外不需要任何其他库。

  • 开源- Jackson 库是开源的,可以免费使用。

处理JSON的三种方式

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

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

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

  • 数据绑定- 使用属性访问器或使用注释将 JSON 与 POJO(普通旧 Java 对象)相互转换。它有两种类型。

    • 简单数据绑定- 将 JSON 与 Java 映射、列表、字符串、数字、布尔值和空对象相互转换。

    • 完整数据绑定- 将 JSON 与任何 JAVA 类型相互转换。

    ObjectMapper 读取/写入两种类型数据绑定的 JSON。数据绑定是最方便的方法,类似于 XML 的 JAXB 解析器。