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