标签:pes bsp 一个 esc 字段名 property 翻译 场景 三方
当字段少于实体类字段:正常通过,没有的字段会被赋予默认值
当字段多于实体类字段:正常通过,没有的字段不会被反序列化到对象中
段少于实体类字段:正常通过,没有的字段会被赋予默认值
当字段多于实体类字段 此时会报错,这个错翻译过来就是,一个无法识别的field。
由此可见,在默认情况下,jackson是不支持json串的字段多于实体类字段的,但是,jackson也提供了解决方案,我们在实体类上,添加注解@JsonIgnoreProperties,
这个注解有一个ignoreUnknown属性,默认值为false,我们可以将它改为true,这样jackson在反序列化的时候,就会忽略掉不存在的属性了。(@JsonIgnoreProperties(ignoreUnknown = true))
三、项目开发过程中,有时候可能要对接第三方平台,可能就会存在字段名不一样的问题,而双方的字段名不一致, 而代码开发已经有一段时间勒,如果就因为字段名不一样的问题,双方改成属性名一致,这样改动量太大,也不保险,下面我来接手一下,针对这种场景,如果解决。
假设: 系统通过http对接,传的是json。有一个参数"名称"
第三方平台:name
开发环境:userName
直接通过实体类映射,不用说肯定有问题
解决办法:
@JsonProperty("name")
private String userName;
标签:pes bsp 一个 esc 字段名 property 翻译 场景 三方
原文地址:https://www.cnblogs.com/chengshentao/p/14892288.html