博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jackson
阅读量:6894 次
发布时间:2019-06-27

本文共 1672 字,大约阅读时间需要 5 分钟。

Jackson库是JSON Java库,用于在Java程序中解析JSON数据。

Jackson源码目前托管于GitHub,地址:

一、Jackson 1.9.x版库说明

Jackson 1.9.10版的库有多种选择:

1. 单个库下载:提供了core-asl、mapper-asl、core-lpgl、mapper-lgpl、jax-rs、jax-xc、mrbean、smile等JAR包下载。

2. Jackson ALL库:包含了上面所有的JAR包,打包成了单个JAR文件。

下载:

3. Jackson Mini库:包含了jackson-core库,排除了注释库、许可证文件、用于使用受限的环境,比如移动设备,JAR包的尺寸显著减少。

下载:

4. Smile Tool工具:一个命令行工具,用于在Smile格式和JSON格式之间相互转换。

下载:
注:Smile是二进制的JSON数据格式,等同于标准的JSON数据格式。Smile格式于2010年发布,于2010年9月Jackson 1.6版开始支持。
支持Smile格式的框架:
(1) Jackson JSON Processor:完全支持Smile格式,包括流式访问,数据绑定和树模型。
(2) libsmile:一个C语言库,支持读写Smile数据。
(3) Elastic Search:支持把Smile格式作为输入/输出的源。
(4) Protostuff:此项目支持Smile格式作为底层数据格式,也用于RPC的格式之一。

 

二、Jackson 2.x版库说明

Jackson 2.x版提供了三个JAR包供下载:

1. Core库:streaming parser/generator,即流式的解析器和生成器。核心包(必须),提供基于“流模式”解析的API。

2. Annotations库:databinding annotations,即带注释的数据绑定包。注解包(可选),提供注解功能。

3. Databind库:ObjectMapper, Json Tree Model,即对象映射器,JSON树模型。数据绑定包(可选),提供基于“对象绑定”和“树模型”相关API。

下载:

 

  • Jackson的优势

         相对于java json解析的其他库,诸如json-lib、gson包,Jackson具有以下优点:

  1. 功能全面,提供多种模式的json解析方式,“对象绑定”使用方便,利用注解包能为我们开发提供很多便利。
  2. 性能较高,“流模式”的解析效率超过绝大多数类似的json包。
  • 重要API
  1. 核心包:JsonPaser(json流读取),JsonGenerator(json流输出)。
  2. 数据绑定包:ObjectMapper(构建树模式和对象绑定模式),JsonNode(树节点)。

 

jackson在实际应用中给我们提供了一系列注解,提高了开发的灵活性,下面介绍一下最常用的一些注解

  • @JsonIgnoreProperties

         此注解是类注解,作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。

  • @JsonIgnore

         此注解用于属性或者方法上(最好是属性上),作用和上面的@JsonIgnoreProperties一样。

  • @JsonFormat

        此注解用于属性或者方法上(最好是属性上),可以方便的把Date类型直接转化为我们想要的模式,比如@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")

  • @JsonSerialize

        此注解用于属性或者getter方法上,用于在序列化时嵌入我们自定义的代码,比如序列化一个double时在其后面限制两位小数点。

  • @JsonDeserialize

         此注解用于属性或者setter方法上,用于在反序列化时可以嵌入我们自定义的代码,类似于上面的@JsonSerialize

转载于:https://www.cnblogs.com/kofxxf/p/4103981.html

你可能感兴趣的文章
根据段落编号自动添加书签的VBA
查看>>
JS(JavaScript)的j进一步了解9(更新中···)
查看>>
Hadoop源码阅读-HDFS-day2
查看>>
BZOJ2893:征服王(费用流)
查看>>
maven profile切换正式环境和测试环境
查看>>
无法启动WP Emulator
查看>>
杭电1856--More is better
查看>>
js选择排序
查看>>
gradle使用总结
查看>>
F - DFS枚举 CSU - 2087: Tragedy Words
查看>>
mongodb随机查询一条记录的正确方法!
查看>>
邮件发送案例
查看>>
AutoMapper在asp.netcore中的使用
查看>>
如何使用 Log4j
查看>>
DevOps 工程师成长日记系列一:必备知识与技能组合
查看>>
足球队(党) 动态规划 DP (这道题我做不动,残念)
查看>>
[BZOJ1296][SCOI2009]粉刷匠(DP)
查看>>
python beautifulsoup爬虫
查看>>
Eclipse中syso 快捷键 Alt + / 不能使用的问题
查看>>
vim利器:vundle 管理器和NERDTree插件
查看>>