错误信息
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field “isShow” (class com.xm.dto.
背景
在使用fastjson对json转换为对象过程中出现上面的错误信息
原因1
在使用fastjosn解析对象中是根据get/set属性名进行属性值的赋值与取值的。当使用Lombok的@data注解时,如果属性是is开头的属性名生成的get/set 方法不是get/set 开头,所以fastjson无法找到需要映射的字段。
解决办法
- 手动写一个get/set 方法。
- 例如:
private boolean isShow;
public boolean getIsShow() {
return isShow;
}
public void setIsShow(boolean isShow) {
isShow= isShow;
}
原因2
如果是json字符串中出现了json实体类中未定义的属性字段也会出现Unrecognized field 错误提示
解决办法
private static final ObjectMapper objectMapper = new ObjectMapper();
// 设置不匹配缺失字段
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false);


2182

被折叠的 条评论
为什么被折叠?



