关于jackson的那些坑

工作时,因使用版本不同被Jackson搞得乱七八糟的,下面直接看问题吧!

1.出处不同的Jackson分支:

    第一种:codehaus jackson

    jackson 1.x版本的包名是codehaus

    第二种:fasterxml  jackson 

     jackson从2.0开始改用新的包名fasterxml  

两者中使用忽略空值或其他的注解也是不同:

codehaus:@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)   //忽略空值

fasterXML:@JsonInclude(JsonInclude.Include.NON_NULL)  //忽略空值

因为项目中引用了多个版本的jackson,开发模块使用的jackson应该较低的,结果使用了高版本jackson导致springmvc默认使用的是jackson来解析json的,但是使用高版本jackson忽略并没有起作用

关于jackson的那些坑_第1张图片

下面贴出springmvc默认使用jackson来解析json,引用的话是使用@ResponseBody

关于jackson的那些坑_第2张图片

所以说,使用之前一定看清自己的使用的版本,在做决定,后面还会持续更新的。

你可能感兴趣的:(jackson)