jackson转换json大写_jackson解析json串时大小写自动转换的方法

这次给大家带来jackson解析json串时大小写自动转换的方法,jackson解析json串时大小写自动转换的注意事项有哪些,下面就是实战案例,一起来看一下。

问题

楼主碰到的问题是,在实体类和表中定义的某个字段为RMBPrice,首字母大写,sql查询出来的列名也是大写的RMBPrice,但是使用jquery的datatables初始化列时,却出错。

那一行的代码如下:{"name": "RMBPrice", "data": "RMBPrice", "className": "text-center", "render": formatRMBPrice},

016fdf48404cf61b1a4a5bcc09e6eae6.png

打开页面却会显示这个。查看浏览器调用接口返回的值:

9c4782b455006688b6da055b46b79590.png

是小写的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;

}

}

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值