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 Maps、Lists、Strings、Numbers、Booleans 和 null 对象,反之亦然。

    • 完整数据绑定 - 将 JSON 转换为任何 JAVA 类型,反之亦然。

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

广告