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