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

面对不遵照驼峰命名规则的接口咋办?固然首先要吐槽一下,不过接口是别人定的,虽然看着不爽但仍是得去适配,好比cardNumber,他返回的叫{CARDNUMBER:''}。 这样致使使用Jackson解析出来的对象的属性均为空,通过跟踪源码发现,是因为其根据getters方法解析的属性,属性字母都变为了小写,这就致使没法解析了出现了jackson Unrecognized field 的问题。code

经过对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")顾名思义,就是显示指定字段的别名,无论是输入仍是输出都是这个名字。get

相关文章
相关标签/搜索