欢迎来到代码驿站!

jquery

当前位置:首页 > 网页前端 > jquery

jackson解析json字符串,首字母大写会自动转为小写的方法

时间:2021-05-11 08:56:09|栏目:jquery|点击:

问题

楼主碰到的问题是,在实体类和表中定义的某个字段为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。想要保留大写还需要你们自己去多找找看喔~~☺☺

上一篇:jQuery实现的登录浮动框效果代码

栏    目:jquery

下一篇:利用JQuery阻止事件冒泡

本文标题:jackson解析json字符串,首字母大写会自动转为小写的方法

本文地址:http://www.codeinn.net/misctech/119535.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有