Jackson介绍

1 Jackson概述

  • 序列化和反序列化json的Java开源框架
  • Spring MVC的默认json解析器

1.1 优点

  1. Jackson 所依赖的jar包较少,简单易用。
  2. 与其他 Java 的 json 的框架 Gson 等相比,Jackson 解析大的 json 文件速度比较快。
  3. Jackson 运行时占用内存比较低,性能比较好
  4. Jackson 有灵活的 API,可以很容易进行扩展和定制。

2 Jackson 2.x介绍

2.x 版本,包名变为 com.fasterxml.jackson

  1. 核心组件包括:jackson-annotations、jackson-core、jackson-databind。
  2. 数据格式模块包括:Smile、CSV、XML、YAML等等
  3. jaxrs模块:JSON、XML等等

2.1 核心组件

        
        <dependency>
            <groupId>com.fasterxml.jackson.coregroupId>
            <artifactId>jackson-coreartifactId>
            <version>2.9.8version>
        dependency>
        
        <dependency>
            <groupId>com.fasterxml.jackson.coregroupId>
            <artifactId>jackson-annotationsartifactId>
            <version>2.9.0version>
        dependency>
        
        <dependency>
            <groupId>com.fasterxml.jackson.coregroupId>
            <artifactId>jackson-databindartifactId>
            <version>2.9.8version>
        dependency>

2.2 数据格式模块

        
        <dependency>
            <groupId>com.fasterxml.jackson.dataformatgroupId>
            <artifactId>jackson-dataformat-yamlartifactId>
            <version>2.9.8version>
        dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformatgroupId>
            <artifactId>jackson-dataformat-xmlartifactId>
            <version>2.9.8version>
        dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformatgroupId>
            <artifactId>jackson-dataformat-smileartifactId>
            <version>2.9.8version>
        dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformatgroupId>
            <artifactId>jackson-dataformat-cborartifactId>
            <version>2.9.8version>
        dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformatgroupId>
            <artifactId>jackson-dataformat-csvartifactId>
            <version>2.9.8version>
        dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformatgroupId>
            <artifactId>jackson-dataformat-propertiesartifactId>
            <version>2.9.8version>
        dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformatgroupId>
            <artifactId>jackson-dataformat-avroartifactId>
            <version>2.9.8version>
        dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformatgroupId>
            <artifactId>jackson-dataformat-protobufartifactId>
            <version>2.9.8version>
        dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformatgroupId>
            <artifactId>jackson-dataformat-ionartifactId>
            <version>2.9.8version>
        dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformatgroupId>
            <artifactId>jackson-dataformats-binaryartifactId>
            <version>2.9.8version>
            <type>pomtype>
        dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformatgroupId>
            <artifactId>jackson-dataformats-textartifactId>
            <version>2.9.8version>
            <type>pomtype>
        dependency>

2.3 jaxrs模块

        <dependency>
            <groupId>com.fasterxml.jackson.jaxrsgroupId>
            <artifactId>jackson-jaxrs-json-providerartifactId>
            <version>2.9.8version>
        dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.jaxrsgroupId>
            <artifactId>jackson-jaxrs-xml-providerartifactId>
            <version>2.9.8version>
        dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.jaxrsgroupId>
            <artifactId>jackson-jaxrs-yaml-providerartifactId>
            <version>2.9.8version>
        dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.jaxrsgroupId>
            <artifactId>jackson-jaxrs-smile-providerartifactId>
            <version>2.9.8version>
        dependency>

3 Jackson 1.x介绍

  • 1.x 版本的包名是 org.codehaus.jackson
  • 单个库下载:提供了core-asl、mapper-asl、core-lpgl、mapper-lgpl、jax-rs、jax-xc、mrbean、smile等JAR包下载。
  • Jackson ALL库:包含了上面所有的JAR包,打包成了单个JAR文件。
  • Jackson Mini库:包含了jackson-core库,排除了注释库、许可证文件、用于使用受限的环境,比如移动设备,JAR包的尺寸显著减少。
  • Smile Tool工具:一个命令行工具,用于在Smile格式和JSON格式之间相互转换。

你可能感兴趣的:(Java开源组件库)