Jackson学习笔记
来源:互联网 发布:手机淘宝如何注册店铺 编辑:程序博客网 时间:2024/05/20 20:48
概述
使用jackson annotations简化和增强的json解析与生成。
Jackson-2.x通用annotations列表:https://github.com/FasterXML/jackson-annotations/wiki/Jackson-Annotations
Jackson-1.x通用annotations列表:http://wiki.fasterxml.com/JacksonAnnotations
准备工作
基于JDK1.7,依赖Jackson框架核心类库:
jackson-core-2.5.3.jar
jackson-annotations-2.5.3.jar
jackson-databind-2.5.3.jar
Jackson - Annotations
想要了解更多内容,请查看annotations列表。下面只列出一些常用的Json注解。
@JsonProperty
它关联json字段到Java属性。可以标记属性,也可以用来标记属性的getter/setter方法。当标记属性时,可以对属性字段重命名。当标记方法时,可以把json字段关联到java属性的getter或setter方法。
@JsonCreator
json反序列化为java对象时,该注解用于定义构造函数。当从json创建java时,@JsonCreator注解的构造函数被会调用,如果没有@JsonCreator注解,则默认调用java类的无参构造函数,此时,如果java类中只有有参构造函数,而无默认的无参构造函数,在反序列化时会抛出这样的异常:com.fasterxml.jackson.databind.JsonMappingException,所以,当我们不使用@JsonCreator指定反序列化的构造函数,而又在java类中重载了构造函数时,一定要记得编写类的无参构造函数。
@JsonAnyGetter和@JsonAnySetter
用于标记类方法,设置和读取json字段作为键值对存储到map中,这两个注解标记的方法不会处理任何java类中已经定义过的属性变量,只对java中未定义的json字段作处理。
@JsonIgnoreProperties和@JsonIgnore:
用于标记属性,在json与java之间相互转化时,将忽略被此注解标记的属性。@JsonIgnoreProperties是类级别注解,可以忽略多个属性,@JsonIgnore用来标注单个属性。
@JsonTypeInfo和@JsonSubTypes
用于维持java类的子类信息,将子类对象类型信息嵌入到json中,以便反序列化创建具体的对象。
- JackSon学习笔记(二)
- Jackson 概要学习笔记
- Jackson Annotation学习笔记
- jackson 学习笔记
- JackSon学习笔记(一)
- Jackson学习笔记(三)
- Jackson学习笔记
- Jackson学习笔记(二)
- Jackson学习笔记(一)
- JackSon学习笔记(一)
- JackSon学习笔记(二)
- JackSon学习笔记(一)
- JackSon学习笔记(一)
- JackSon学习笔记(二)
- Jackson学习笔记(三)
- Jackson学习笔记
- JackSon学习笔记(一)
- Jackson学习笔记(1)
- OpenCV Error: Insufficient memory
- nginx启动,停止
- 18.Unity3D商业游戏源码研究-变身吧主公-战斗-MainPlayerStateAttack
- 限制QLineEdit的数值输入范围
- telnet 模拟发送邮件
- Jackson学习笔记
- LIRe图像检索:FCTH算法原理与源码分析
- 内存问题定位与解决
- java中的==和equals的区别
- HTTP协议的头信息详解
- weblogic comet4j java.lang.ClassNotFoundException: org.apache.catalina.comet.CometProcessor
- 单元测试/自动化测试
- HEX文件和BIN文件格式的区别
- 19.Unity3D商业游戏源码研究-变身吧主公-战斗-MainPlayerStateHit