Jackson 对于单字母的反序列化问题
2021-09-16 本文已影响0人
后山野鹤
例如
public class Person {
private String A;
private String aName;
}
上面对象,通过jackson序列化后,返回前端,发现是
发现问题
{
"a":"test",
"aname":"呵呵"
}
正常来说是要返回
{
"A":"test",
"aName":"呵呵"
}
解决方案
import com.fasterxml.jackson.annotation.JsonProperty;
public class Person {
@JsonProperty(value="A")
private String A;
@JsonProperty(value="aName")
private String aName;
}
在有问题的字段上采用显示声明,进行注解@JsonProperty(value="xxx"),则jackson会按照注解的定义,进行反序列化,
总结
jackson 解析的字段中有单个字母作为驼峰单词的, 单个字母后面的大写字母会默认取小写的, 而不是原样取值,碰到此类问题后,应采用spring-boot提供的