使用Jackson轉化json時要注意的問題

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章