不规则JSON

使用Jackson解析属性首字母为大写的JSON串问题解决

ぐ巨炮叔叔 提交于 2021-01-21 05:37:39
面对不遵守驼峰命名规则的接口咋办?当然首先要吐槽一下,不过接口是别人定的,虽然看着不爽但还是得去适配,比如 cardNumber ,他返回的叫 {CARDNUMBER:''} 。 这样导致使用Jackson解析出来的对象的属性均为空,经过跟踪源码发现,是由于其根据getters方法解析的属性,属性字母都变为了小写,这就导致无法解析了出现了 jackson Unrecognized field 的问题。 通过对API的研究可以通过 @JsonProperty 以及 @JsonAutoDetect 来实现。 具体如下看代码 @JsonAutoDetect(JsonMethod.FIELD) public class ApiParameter implements Serializable { private static final long serialVersionUID = 1L; @JsonProperty("NAME") private String name; @JsonProperty("CARDNUMBER") private String cardNumber; } @JsonProperty("CARDNUMBER") 顾名思义,就是显示指定字段的别名,不管是输入还是输出都是这个名字。 来源: oschina 链接: https://my.oschina.net/u