jackson解析json字符串,首字母大写会自动转为小写的方法
2017-12-22 10:19
1936 查看
问题
楼主碰到的问题是,在实体类和表中定义的某个字段为RMBPrice,首字母大写,sql查询出来的列名也是大写的RMBPrice,但是使用jquery的datatables初始化列时,却出错。
那一行的代码如下:
{"name": "RMBPrice", "data": "RMBPrice", "className": "text-center", "render": formatRMBPrice},
打开页面却会显示这个。查看浏览器调用接口返回的值:
是小写的rmbprice
分析
接口返回的是一个@ResponseBody对象,在代码中打断点,一直到接口的返回值都是大写的,所以只可能是转换到json的时候出了问题。
百度 json 首字母大写,就出现了自动转换为小写的文章。
经过测试确实是,当前几个都是大写的字母,都会转换成小写,直到不是大写为止,若小写后面还有大写,则保持大写。
如:RRRddRRR会变成rrrddRRR.
解决办法
我直接修改js里面那行代码,改为:
{"name": "rmbprice", "data": "rmbprice", "className": "text-center", "render": formatRMBPrice},
经过查询,如果要保留大写需要加上注解。
比如jackson使用:
在实体类定义字段时:
@JsonProperty("ActionCode") private String ActionCode = "";
fastjson使用:
@JSONField(name = “Name”) 而且该标记应该标记在get方法前:
public class User { private String name; private int age; @JSONField(name = "Name") public String getName(){ return name; } public void setName(String name){ this.name = name; } @JSONField(name = "Age") public int getAge(){ return age; } public void setAge(int age){ this.age= age; } }
也有说:
强制转换,用com.alibaba.fastjson.serializer.PascalNameFilter,直接把首字母转成大写。如:JSON.toJSONString(bean,new PascalNameFilter());
不过上面那些我都没有试过,因为我采用了自动转换为小写之后的name。想要保留大写还需要你们自己去多找找看喔~~☺☺
以上这篇jackson解析json字符串,首字母大写会自动转为小写的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- jackson解析json字符串,首字母大写会自动转为小写
- Jackson解析首字母大写的json字符串
- 使用Jackson解析首字母大写的json字符串
- Jackson解析首字母大写的json字符串
- Java中统计字符串中大写、小写字母以及非英文字母数的三种方法
- Java中统计字符串中大写、小写字母以及非英文字母数的N种方法
- jackson 解析json含有不规则的属性的json字符串的方法
- jackson 解析json含有不规则的属性的json字符串的方法
- JSON解析首字母大写的字符串
- JAVA对象通过jackson转成json格式,属性名首字母变成小写的解决方法
- android EditText 输入字母时小写自动转为大写
- android Editext限制输入数字和字母以及将小写自动转换成大写的方法
- Android:解决“按钮 Button设置文字String 含字母时 字母默认自动转为大写字符串” 问题
- jackson 通用解析json方法
- 解决com.alibaba.fastjson.JSON返回数据自动把首字母改为小写问题
- fastjson转换json字符串key的首字母小写变大写的解决办法
- java解析json字符串的两种方法详解(Android通用)
- JS解析json数据并将json字符串转化为数组的实现方法
- JSON.parse 解析字符串出错的解决方法
- C# 字符串首字母大写其余小写