json过滤某些属性 之@jsonignore

原创 2016年08月21日 12:18:04

Jackson相关:

使用Jackson相关的注解时一定要注意自己定义的属性命名是否规范。
命名不规范时会失去效果。(例如Ename ,Eage 为不规范命名。“nameE”,“ageE”为规范命名)我在此处掉坑半个小时。至于命名规范,大家自己搜索。其实不要太奇葩的命名都是可以得。

如果使用@JsonIgnore注解不起效时请注意一下你的属性名字是否规范

1、@JsonIgnoreProperties

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

写法将此标签加在model 类的类名上 ,可以多个属性也可以单个属性

//生成json时将name和age属性过滤
@JsonIgnoreProperties({"name"},{"age"})
public class  user {
private  String name;
private int age;
}

2、@JsonIgnore

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

生成json 时不生成age 属性

public class user {
private String name;
@JsonIgnore
private int age;
}

3、@JsonFormat

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

4、@JsonSerialize

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

5、@JsonDeserialize

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

6、@Transient

@[email protected]�射,ORM框架将忽略该属性;
如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则ORM框架默认其注解为@Basic;

//表示该字段在数据库表中没有

@Transient
public int getAge() {
 return 1+1;
}

参考:http://www.bubuko.com/infodetail-264724.html

版权声明:本文为博主编写文章,未经博主允许转载,转载请注明出处。

相关文章推荐

Jackson 解析json数据之忽略解析字段注解@JsonIgnoreProperties

以前解析json用的惯的就是Google的gson了,用惯了基本就用它了,一直也没发现什么大问题,因为都是解析简单的json数据。但是最近学习springboot,要解析一个比较复杂的json数据。就...
  • ngl272
  • ngl272
  • 2017年04月17日 22:44
  • 10813

@JsonIgnore

Jackson默认是针对get方法来生成JSON字符串的 @JsonSerialize可以过滤掉生成的json中不需要的多余字段...
  • sunhuwh
  • sunhuwh
  • 2015年04月03日 23:09
  • 13168

Json解析工具Jackson(使用注解)

接上一篇文章Json解析工具Jackson(简单应用),jackson在实际应用中给我们提供了一系列注解,提高了开发的灵活性,下面介绍一下最常用的一些注解 @JsonIgnoreProperties...

@jsonIgnore不生效

本人使用的是alibaba的fastjson,但是@JsonIgnore不是fastjson的,所以不生效, 将注解改为@JSONField(serialize = false),JSONField...

Jackson /常用注解/ annotation

1、@JsonAutoDetect 自动检测,(作用在类上)来开启/禁止自动检测。 fieldVisibility:字段的可见级别    ANY:任何级别的字段都可以自动识别   NONE:所...

@JsonIgnoreProperties(value={"hibernateLazyInitializer"}) 属性

因为jsonplugin用的是java的内审机制.hibernate会给被管理的pojo加入一个hibernateLazyInitializer属性,jsonplugin会把hibernateLazy...

@jsonignore的使用

说明: @jsonignore可以防护父子情况下的递归 问题现象: 在声明了规则具有parent_id后,发现使用json遍历规则导致规则始终在递归,json请求无法结束。 原因:...

Hibernate JPA中@Transient、@JsonIgnoreProperties、@JsonIgnore、@JsonFormat、@JsonSerialize等注解解释

1、@Transient @[email protected]反射,ORM框架将忽略该属性; 如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则ORM框架默认其注解...

@JsonIgnore作用

@jsonignore的作用 作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。 如下: package com.hzboy.orm; import ja...

@jsonignoreproperties 是干什么用的

就是说这个属性不进行json的转化,忽略这个属性的json转化。 有意思作用呢? 主要是防止一些Json转换异常错误...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:json过滤某些属性 之@jsonignore
举报原因:
原因补充:

(最多只允许输入30个字)