使用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

相關文章
相關標籤/搜索