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