Jackson库的优点及使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jackson库的优点及使用相关的知识,希望对你有一定的参考价值。

参考技术A 个人没有对比过其它JSON库的性能,自己使用中认为Jackson库是挺好使用的,能处理各种非规范key值,比如中文、数字开头的、特殊字符开头的等等。另外针对大对象也没问题,目前使用过10M左右的响应数据,没出现过问题。

@JsonProperty可以放在成员变量、getter方法、setter方法上,方法优先于成员变量。如果有多个getter发封,在转为Json String时会有多个属性输出。

如果Json String中的属性比Java类中多,需要在类上面添加注解@JsonIgnoreProperties(ignoreUnknown =true)。

如果Json String中的属性比Java类中多,需要在类上面添加注解@JsonIgnoreProperties(ignoreUnknown =true)。如果在将Java对象转为Json String时,不想输出那些null值,需要添加注解: @JsonInclude(value =JsonInclude.Include.NON_NULL)

针对基本类型的封装类,可以自由在String和封装类间转换。

如果有特殊需求,可以自定义转换器。

Jackson 使用简介

参考技术A

Jackson 优点很多。

Jackson 的 1.x 版本的包名是 org.codehaus.jackson ,当升级到 2.x 版本时,包名变为 com.fasterxml.jackson 。

Jackson 的核心模块由三部分组成。

使用 Maven 构建项目,可以只显示地添加 jackson-databind 依赖, jackson-core 和 jackson-annotations 也会通过 Maven 传递性依赖 随之添加到 Java 项目工程中。

Jackson 最常用的 API 就是基于 对象绑定 的 ObjectMapper :

之所以称为 ObjectMapper 是因为它将 JSON 映射 到 Java 对象(反序列化),或者将 Java 对象 映射 到 JSON (序列化)。

开始之前先准备一个拥有两个属性的 POJO 。

案例:

其他序列化 API:

其他反序列化 API:

先实现一个工具类 JsonFilterUtil 。

使用 Demo:

以上是关于Jackson库的优点及使用的主要内容,如果未能解决你的问题,请参考以下文章

# Jackson 学习使用

Jackson 使用简介

Jackson ObjectMapper类使用解析

Jackson 工具类使用及配置指南

[Java] jackson注解

Jackson数据处理及绑定