Jackson常用注解介绍
来源:互联网 发布:巫妖王之怒3.35数据库 编辑:程序博客网 时间:2024/04/26 14:19
1 排除属性
@JsonIgnore,一般标记在属性或方法上;作用于序列化与反序列化;
@JsonIgnoreProperties,如果是代理类,由于无法标记在属性或方法上,所以,可以标记在类声明上;也作用于反序列化时的字段解析;
2 属性别名
@JsonProperty,序列化/反序列化都有效;
3 属性排序
@JsonPropertyOrder,注释在类声明中;
4 属性格式转换
使用自定义序列化/反序列化来处理;
@JsonSerialize,序列化;
@JsonDeserialize,反序列化;
注意:在使用hibernate的时候,查询数据库后产生的实体类是个代理类,这时候转换JSON会报错;
解决方法有两种:
1)设置FAIL_ON_EMPTY_BEANS属性,告诉Jackson空对象不要抛异常;
mapper.disable(SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS);
2)使用@JsonIgnoreProperties注解
在实体类声明处加上@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler"})注解;
建议使用@JsonIgnoreProperties注解,这样生成的JSON中不会产生多余的字段;
5 父/子关联
@JsonManagedReference,放在父亲类中;
@JsonBackReference,放在孩子类中;
6 去掉包装
@JsonUnwrapped,意思如下:
Ability to map JSON like
{
"name" : "home",
"latitude" : 127,
"longitude" : 345
}
to classes defined as:
class Place {
public String name;
@JsonUnwrapped
public Location location;
}
class Location {
public int latitude, longitude;
}
参考:
http://wiki.fasterxml.com/JacksonAnnotations
http://www.cowtowncoder.com/blog/archives/2011/10/entry_463.html
http://www.07net01.com/linux/Jacksonzhujiexuexicankao_44238_1356358422.html
0 0
- Jackson常用注解介绍
- Jackson常用注解介绍
- Jackson常用注解介绍
- Jackson常用注解介绍
- Jackson常用注解介绍
- Jackson常用注解介绍
- Jackson /常用注解/ annotation
- 常用Jackson注解解释
- Jackson常用注解
- jackson注解
- jackson注解
- TestNG-常用注解介绍
- TestNG-常用注解介绍
- SpringMVC常用注解介绍
- Hibernate JPA中注解解释 @Json Jackson常用
- Jackson介绍
- sg-uap常用注解介绍
- sg-uap常用注解介绍
- Android开发中常见的5大内存泄漏问题及解决办法
- 【半平面交】[POJ2451]Uyuw's Concert
- redis三种启动方式
- ccah-500 第7题 swap Hadoop daemon data from RAM to disk
- notepad编辑器格式化json
- Jackson常用注解介绍
- HTML5 LocalStorage 本地存储
- 1027. Colors in Mars (20)
- Ajax跨域、Json跨域、Socket跨域和Canvas跨域等同源策略限制的解决方法
- google code prettify 多款主题颜色及下载
- 一个较全的gdb调试文档:gdb cheat sheet
- Swap Nodes in Pairs(easy)
- json-ajax-ext
- javascript $.ajax json list