欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jackson解析json字符串,首字母大寫會自動轉(zhuǎn)為小寫的方法

 更新時間:2017年12月22日 10:19:37   作者:Amo_lt  
下面小編就為大家分享一篇jackson解析json字符串,首字母大寫會自動轉(zhuǎn)為小寫的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

問題

樓主碰到的問題是,在實體類和表中定義的某個字段為RMBPrice,首字母大寫,sql查詢出來的列名也是大寫的RMBPrice,但是使用jquery的datatables初始化列時,卻出錯。

那一行的代碼如下:

{"name": "RMBPrice", "data": "RMBPrice", "className": "text-center", "render": formatRMBPrice},

打開頁面卻會顯示這個。查看瀏覽器調(diào)用接口返回的值:

是小寫的rmbprice

分析

接口返回的是一個@ResponseBody對象,在代碼中打斷點,一直到接口的返回值都是大寫的,所以只可能是轉(zhuǎn)換到j(luò)son的時候出了問題。

百度 json 首字母大寫,就出現(xiàn)了自動轉(zhuǎn)換為小寫的文章。

經(jīng)過測試確實是,當(dāng)前幾個都是大寫的字母,都會轉(zhuǎn)換成小寫,直到不是大寫為止,若小寫后面還有大寫,則保持大寫。

如:RRRddRRR會變成rrrddRRR.

解決辦法

我直接修改js里面那行代碼,改為:

{"name": "rmbprice", "data": "rmbprice", "className": "text-center", "render": formatRMBPrice},

經(jīng)過查詢,如果要保留大寫需要加上注解。

比如jackson使用:

在實體類定義字段時:

@JsonProperty("ActionCode") 
 private String ActionCode = ""; 

fastjson使用:

@JSONField(name = “Name”) 而且該標(biāo)記應(yīng)該標(biāo)記在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;
 }
} 

也有說:

強制轉(zhuǎn)換,用com.alibaba.fastjson.serializer.PascalNameFilter,直接把首字母轉(zhuǎn)成大寫。如:JSON.toJSONString(bean,new PascalNameFilter());

不過上面那些我都沒有試過,因為我采用了自動轉(zhuǎn)換為小寫之后的name。想要保留大寫還需要你們自己去多找找看喔~~☺☺

以上這篇jackson解析json字符串,首字母大寫會自動轉(zhuǎn)為小寫的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論