使用Jackson轉化json時,數據庫返回對應實體字段爲大寫。通過postman請求後自己變成了小寫。
需要在實體對象的屬性上加@JsonProperty("SMZ")註解
但這時返回的結果只會多一個“SMZ”的元素,還有小寫”smz”
這是應當在他的get方法上加@JsonIgnore註解 問題就可以解決
因爲Jackson在轉換時在首字母爲大寫情況下會將大寫轉換成小寫,如果從首字母開始接連大寫,則一併轉換成小寫,
如果首字母小寫後面有大寫,那麼就不影響你的輸出結果。舉個例子:AAAAA 會轉換成 aaaaaaaaaa
AAaaAA 會轉換成 aaaaAA
package cn.ac.sec.model.api;
import java.io.Serializable;
import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.annotate.JsonProperty;
import org.codehaus.jackson.map.annotate.JsonFilter;
import com.sun.xml.rpc.processor.modeler.j2ee.xml.string;
/**
* 查詢卡列表接口返回數據
* @author Administrator
*
*/
public class CardList implements Serializable{
/**
* 用戶id
*/
private String virtualCardNum;
/**
* 虛擬卡類型
*/
@JsonProperty("SMZ")
private int SMZ;
/**
* 用戶姓名
*/
private String realName;
/**
* 用戶手機號
*/
private String cellPhone;
/**
* 插入時間
*/
private String insertTime;
public String getVirtualCardNum() {
return virtualCardNum;
}
public void setVirtualCardNum(String virtualCardNum) {
this.virtualCardNum = virtualCardNum;
}
@JsonIgnore
public int getSMZ() {
return SMZ;
}
public void setSMZ(int sMZ) {
SMZ = sMZ;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public String getCellPhone() {
return cellPhone;
}
public void setCellPhone(String cellPhone) {
this.cellPhone = cellPhone;
}
public String getInsertTime() {
return insertTime;
}
public void setInsertTime(String insertTime) {
this.insertTime = insertTime;
}
}