工作时,因使用版本不同被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忽略并没有起作用
下面贴出springmvc默认使用jackson来解析json,引用的话是使用@ResponseBody
所以说,使用之前一定看清自己的使用的版本,在做决定,后面还会持续更新的。