Jackson - 概述

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

功能

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

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

  • 性能。 - jackson 速度快且内存占用低,适合大型对象图或系统。

  • 干净的 JSON。 - jackson 创建干净紧凑的 JSON 结果,易于阅读。

  • 无依赖关系。 - 除了 jdk 之外,jackson 库不需要任何其他库。

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

处理JSON的三种方式

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

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

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

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

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

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

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