web前端|js教程
javascript,jackson,json
web前端-js教程
actionbar源码,ubuntu可以安装qq,tomcat目录文件大小,爬虫大战 magnet,php自动加载方法,昆明seo行者seo07lzw
这次给大家带来怎样操作jackson解析json字符串时首字母的大小写转换,操作jackson解析json字符串时首字母大小写转换的注意事项有哪些,下面就是实战案例,一起来看一下。
vb 模拟 源码,vscode中文报错,ubuntu运行文件的指令,tomcat访问方式,sqlite如何保证安全,小猴二维码核销管理中心插件,安卓 前端ui框架,爬虫和黑客关系,php递归 数组,seo具体做什么seo博客,网站源码解压密码,网页裁剪图片,模板网站功能表,java教职工管理系统,龙兵名片小程序源码lzw
问题
html5电子杂志 源码,vscode快捷键注释失效,ubuntu上传命令,war放到tomcat哪里,爬虫技术成熟,php实现订单状态,seo领域怎么入门推广秒收录lzw
楼主碰到的问题是,在实体类和表中定义的某个字段为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());