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

本文介绍了解决非驼峰命名规则接口的方法,通过使用@JsonProperty和@JsonAutoDetect注解来适配不同命名规则的接口,确保Jackson可以正确解析。

面对不遵守驼峰命名规则的接口咋办?当然首先要吐槽一下,不过接口是别人定的,虽然看着不爽但还是得去适配,比如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")顾名思义,就是显示指定字段的别名,不管是输入还是输出都是这个名字。

转载于:https://my.oschina.net/u/2293736/blog/664372

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值