使用Jackson解析首字母大写的json字符串
2015-02-04 15:43
453 查看
Jackson在解析返回的json字符串时始终报错,纠结很久之后才找到原因,原来是是由于json字符串中的字母都是首字母大写,导致jackson找不到相应的KEY。
在项目中经常使用从服务器获取的数据,有时从服务器获取的json字符串中的首字母是大写的,使用Jackson解析是就会报一下错误:
Exception in thread "main" org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "XXX" (Class xxxx), not marked as ignorable .
异常信息告诉说XXX属性字段在类型xxx中没有找到,也没有标记为忽略。
但是在你的bean中确实存在这个字段,而只不过是这个字段的首字母是大写而已。
解决这个问题只需要在属性字段上面加上@JsonProperty();即可。
在项目中经常使用从服务器获取的数据,有时从服务器获取的json字符串中的首字母是大写的,使用Jackson解析是就会报一下错误:
Exception in thread "main" org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "XXX" (Class xxxx), not marked as ignorable .
异常信息告诉说XXX属性字段在类型xxx中没有找到,也没有标记为忽略。
但是在你的bean中确实存在这个字段,而只不过是这个字段的首字母是大写而已。
解决这个问题只需要在属性字段上面加上@JsonProperty();即可。
public class CommissionItemVo implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private int docId; @JsonProperty("CName") private String CName; @JsonProperty("CPhone") private String CPhone; @JsonProperty("BlockName") private String BlockName; @JsonProperty("SeeTime") private String SeeTime; @JsonProperty("Cost") private String Cost; @JsonProperty("EndSettleTime") private String EndSettleTime; public int getDocId() { return docId; } public void setDocId(int docId) { this.docId = docId; } public String getCName() { return CName; } public void setCName(String cName) { CName = cName; } public String getCPhone() { return CPhone; } public void setCPhone(String cPhone) { CPhone = cPhone; } public String getBlockName() { return BlockName; } public void setBlockName(String blockName) { BlockName = blockName; } public String getSeeTime() { return SeeTime; } public void setSeeTime(String seeTime) { SeeTime = seeTime; } public String getCost() { return Cost; } public void setCost(String cost) { Cost = cost; } public String getEndSettleTime() { return EndSettleTime; } public void setEndSettleTime(String endSettleTime) { EndSettleTime = endSettleTime; } public static long getSerialversionuid() { return serialVersionUID; } @Override public String toString() { return "CommissionItemVo [docId=" + docId + ", CName=" + CName + ", CPhone=" + CPhone + ", BlockName=" + BlockName + ", SeeTime=" + SeeTime + ", Cost=" + Cost + ", EndSettleTime=" + EndSettleTime + "]"; } }
相关文章推荐
- Jackson解析首字母大写的json字符串
- jackson解析json字符串,首字母大写会自动转为小写的方法
- Jackson解析首字母大写的json字符串
- jackson解析json字符串,首字母大写会自动转为小写
- JSON解析首字母大写的字符串
- 使用Jackson2.4解析属性首字母为大写的JSON串
- Json解析工具Jackson(使用注解)
- Objective-C-使用NSMutableURLRequest发送POST请求,使用NSJSONSerialization解析JSON字符串
- 使用eval()解析JSON格式字符串应注意的问题
- 使用eval()解析JSON格式字符串应注意的问题
- 使用jackson去解析json
- 使用Jackson框架解析Json示例
- 解决android使用gson解析json字符串,并使用混淆编译方式打包apk遇到的问题
- Json解析工具Jackson(使用注解)
- Json解析工具Jackson(使用注解)
- Android的数据处理:使用annotation实现JSON字符串解析为java对象
- 将字符串中各单词首字母转化成大写,使用回调函数实现[函数指针]
- Json - 使用json-lib解析json字符串(火车票务返回的json串)的例子
- 使用Jackson框架解析Json示例
- Android Json 使用Jackson解析和生成json .