什么是Jackson

Jackson是一个简单的基于Java的库,用于将Java对象序列化为JSON,也可以把JSON转换为Java对象。

1 Jackons的特征

  • 易于使用:-Jackson API提供了高级外观,以简化常用使用。
  • 无需创建映射:Jackson API为大多数序列化的对象提供了默认映射。
  • 性能:Jackson轻便快速,内存占用少,适用于大型对象图或系统。
  • 干净的JSON:Jackson创建了简洁的JSON,易于阅读。
  • 没有依赖关系:Jackson库除JDK以外不需要任何其他库。
  • 开源:Jackson库是开源的,可以免费使用。

2 处理JSON的三种方法

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

  • 数据流API:读取和写入JSON内容作为离散事件。JsonParser读取数据,而JsonGenerator写入数据。这是这三种方法中功能最强大的一种,开销最低,读/写操作最快。它类似于XML的Stax解析器。
  • JSON树模型 :把JSON在内存构建成为树状结构。JsonNode节点的ObjectMapper构建树。这是最灵活的方法。它类似于XML的DOM解析器。
  • 数据绑定 :使用属性访问器或使用注解在JSON与POJO(普通Java对象)之间进行转换。它有两种类型。
    • 简单数据绑定:在List集合,String,数值,布尔值和NULL对象之间来回转换JSON。
    • 完全数据绑定:将JSON与任何Java类型相互转换。

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

推荐好课