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


你可能感兴趣的:(json)