最近写项目,用到Jackson的一些注解,总结一下,帮助自己记忆。

1.@JsonIgnore 和 @JsonIgnoreProperties

两个注解可以对照比较后选择使用:

@JsonIgnore

在json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。

private String name;
private Integer age;
@JsonIgnore
private String color;

运行方法在控制台打印

System.out.println(name+""+age+""+color+"");

将只显示name和age,color受注解的影响不进行显示。

使用方法:一般标记在属性或者方法上,返回的json数据即不包含该属性。

@JsonIgnoreProperties

和 @JsonIgnore 的作用相同,都是告诉 Jackson 该忽略哪些属性,
不同之处是 @JsonIgnoreProperties 是类级别的,并且可以同时指定多个属性。
 
@JsonIgnoreProperties(value = {"age","color"})
public class TestJackson{
    private String id;
    private String username;
    private String password;
    private Integer age;
    private String color;
 
}
 
类中的age和color属性都将会在序列化和反序列化时被忽略掉。
 
2.@JsonProperty
 
它用于属性上,作用是把属性的名称序列化成另外一个名称
@JsonProperty("name")
private String username;
把username属性序列化为name
 
3.@JsonInclude(JsonInclude.Include.NON_NULL)
 
这个注解表示,如果值为null,则不返回,还可以在类上添加这个注释,当实体类与json互相转换的时候,属性值为null的不参与序列化
 
@JsonInclude(JsonInclude.Include.NON_NULL)
public Vector children;
 
@JsonInclude(JsonInclude.Include.NON_NULL)
public class TestJackson{
                       xxxxxx
}
 
 

Jackson常用注解及用法的更多相关文章

  1. SpringMVC常用注解的用法

    1. @PathVariable 当使用@RequestMapping URI template 样式映射时, 即 someUrl/{paramId}, 这时的paramId可通过 @Pathvari ...

  2. jackson 常用注解,比如忽略某些属性,驼峰和下划线互转

    一般情况下使用JSON只使用了java对象与字符串的转换,但是,开发APP时候,我们经常使用实体类来做转换:这样,就需要用到注解: Jackson默认是针对get方法来生成JSON字符串的,可以使用注 ...

  3. Jackson /常用注解/ annotation(转)

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

  4. Jackson中@JsonProperty等常用注解

    Java生态圈中有很多处理JSON和XML格式化的类库,Jackson是其中比较著名的一个.虽然JDK自带了XML处理类库,但是相对来说比较低级 本文将介绍的Jackson常用注解:精简概述 Jack ...

  5. Spring Ioc 常用注解

    在开发中spring ioc的配置方式有多种方式,常用的一般都是byName.byType .以及其自动装配可以查看http://www.cnblogs.com/gubai/p/9140840.htm ...

  6. 用Jackson进行Json序列化时的常用注解

    Jackson时spring boot默认使用的json格式化的包,它的几个常用注解: @JsonIgnore 用在属性上面,在序列化和反序列化时都自动忽略掉该属性 @JsonProperty(&qu ...

  7. SpringMVC常用注解的规则(用法)

    SpringMVC注解 @RequestMapping用法:    a. 用在controller方法上:        标记url到请求方法的映射, 其实就是通过一段url地址, 找到对应需要执行的 ...

  8. SpringMVC常用注解實例詳解3:@ResponseBody

    我的開發環境框架:        springmvc+spring+freemarker開發工具: springsource-tool-suite-2.9.0JDK版本: 1.6.0_29tomcat ...

  9. Spring系列之Spring常用注解总结

    传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点:1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件 ...

随机推荐

  1. 清北学堂清华大学钟皓曦神仙讲课day3摘要

    ---恢复内容开始--- 今天全是DP awsl,真的好难 先从斐波那契开始: dp:满足有一个状态边界条件(f[0]=0,f[1]=1) 边界条件:不需要计算其他状态的值而可以直接得出的状态或者最底 ...

  2. Linux本机和远程服务器之间文件的上传和下载 rz sz

    tar zxvf lrzsz-0.12.20.tar.gz 解压安装包   下载地址:链接:https://pan.baidu.com/s/1KMS1QlyOhpXiYeaWdNBAyw 提取码:08 ...

  3. 记一次使用dubbo过程中版本冲突导致的坑

    前言:2019年09月23日临下班,产品的一个变更需求临近尾声阶段.本地测试OK,兴致冲冲的想着发布到测试环境,验证一下没有问题,五分钟结束战斗,明天就开始下个需求了.随在CE(公司的devOps系统 ...

  4. java 集合之ArrayList、Vector、LinkedList、CopyOnWriteArrayList

    ArrayList 线程不安全. 底层Object[]数组实现,用transient关键字修饰,防止序列化,然后重写了readObject和writeObject方法,为了提高传输效率. 插入时会判断 ...

  5. 移动端h5模拟长按事件

    为啥写这篇文章 最近接了个需求,要求长按某个标签显示删除一个悬浮的删除按钮.这个需求其实在app上很常见,但是在移动端h5中,我们没有长按的事件,所以就需要自己模拟这个事件了. 大概效果如下: ps: ...

  6. HDU-4185-Oil Skimming(最大匹配)

    链接: https://vjudge.net/problem/HDU-4185 题意: Thanks to a certain "green" resources company, ...

  7. VS2017 + EF + MySQL 环境配置

    我使用过程中遇到的坑(血泪啊) 安装环境VS2017MVC+WIN10+EF6+MySQL8.0.12 1.安装MySQL connector一定要6.10.8,8.0以上全是坑,会闪退!!! 2.安 ...

  8. ReentrantReadWriteLock源码分析笔记

    ReentrantReadWriteLock包含两把锁,一是读锁ReadLock, 此乃共享锁, 一是写锁WriteLock, 此乃排它锁. 这两把锁都是基于AQS来实现的. 下面通过源码来看看Ree ...

  9. Codeforces 1272D

    题意:给定一个长度为n的数组a,你至多可以删去其中的一个元素,找出最长的连续(严格)上升子序列的长度. 分析:读完题之后可以发现这道题和模板:连续上升子序列很相像,首先可以确定方向是dp:状态是当前的 ...

  10. 虚拟机使用桥接模式连接网络并且设置静态ip

    1.桥接模式连接网络 虚拟机连接网络一共有四种模式,我这里只介绍桥接模式,毕竟坑了我几个小时 设置有线连接,我本来用的无线连接完成微信点餐系统,后来换了有线因为有线连接不会分配ip,和本地电脑使用同一 ...