json过滤某些属性 之@jsonignore

Jackson相关:

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

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

1、@JsonIgnoreProperties

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

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

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

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

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

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

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

原文地址:https://www.cnblogs.com/UniqueColor/p/8422471.html

时间: 2024-10-13 18:17:13

json过滤某些属性 之@jsonignore的相关文章

一步一步学习 JQuery (四) 过滤选择器:属性过滤选择器 && 子元素过滤选择器 && 表单过滤选择器

四.属性过滤选择器 属性过滤选择器的过滤规则是通过元素的属性来获取相应的元素 选取下列元素,改变其背景色为 # bbffaa 含有属性title 的div元素. 属性title值等于"test"的div元素. 属性title值不等于"test"的div元素(没有属性title的也将被选中). 属性title值 以"te"开始 的div元素. 属性title值 以"est"结束 的div元素. 属性title值 含有"

获取JSON对象的属性值

1.问题背景 有一个json对象,其中有键值对,那怎样获取json对象中属性值 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

获取JSON对象的属性名称

1.问题背景 一个json对象,是以键值对组成,通过循环json对象,获取json对象中的属性名称 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml&

EF架构~过滤导航属性等,拼接SQL字符串

拼接T-SQL串,并使它具有通用性 好处:与服务器建立一次连接,给服务器发一条SQL命令,即可实现 代码如下: 1 /// <summary> 2 /// 构建Insert语句串 3 /// 主键为自增时,如果主键值为0,我们将主键插入到SQL串中 4 /// </summary> 5 /// <typeparam name="TEntity"></typeparam> 6 /// <param name="entity&

在Flex中使用JSON对象为属性赋值

JavaScript中,JSON的简洁和强大令人印象深刻.ActionScript3作为一种从JavaScript语言发展起来的语言,依然可以使用JSON. 依然可以var  object={a:1,b:”b”,c:”1111”};这样的JSON形式创建ActionScript对象. 在JavaScript中,我们常常在new 对象时,通过传入{……}这样的JSON数据方便地初始化对象. 在ActionScript中,我们依然可以这样做. package { public class Const

【转】Fastjson生成json时Null属性不显示

Fastjson生成json时Null属性不显示 举个例子 Map < String , Object > jsonMap = new HashMap< String , Object>(); jsonMap.put("a",1); jsonMap.put("b",""); jsonMap.put("c",null); jsonMap.put("d","wuzhuti.cn

JAVA对象通过jackson转成json格式,属性名首字母变成小写的解决方法

java代码对象如下: package com.evideostb.billsystem.module.model; import org.codehaus.jackson.map.annotate.JsonSerialize; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; /**  * 响应协议头  * @author zhang

struts2 json插件中属性的配置

root参数用于指定要序列化的根对象,如果省去这一配置,表示要序列化action中的所有属性 ignoreHierarchy 为false时表示要序列化根对象的所有基类 excludeProperties表示排除的序列化的属性 includeProperties表示哪些属性被序列化 excludeNullProperties表示是否去掉空值, 默认值是false,如果设置为true会自动将为空的值过滤,只输出不为空的值. 之前我在看李刚的书的时候认为includeProperties和exclu

FastJson序列化时过滤字段(属性)的方法

FastJson序列化时(即转成JSON字符串时),可以过滤掉部分字段,或者只保留部分字段,方法有很多,下面举一些常用的方法. 方法一.FastJson的注解 1 @JSONField(serialize = false) 2 private String name; 最便捷,直接在实体的字段上加FastJson的注解serialize = false,转JSON字符串时就不会有该字段. 方法二.JAVA关键字 1 @JSONField(name = "AGE") 2 private