溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

jackson如何解析json字符串實(shí)現(xiàn)首字母大寫(xiě)自動(dòng)轉(zhuǎn)為小寫(xiě)

發(fā)布時(shí)間:2021-08-13 16:12:18 來(lái)源:億速云 閱讀:229 作者:小新 欄目:web開(kāi)發(fā)

這篇文章主要為大家展示了“jackson如何解析json字符串實(shí)現(xiàn)首字母大寫(xiě)自動(dòng)轉(zhuǎn)為小寫(xiě)”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“jackson如何解析json字符串實(shí)現(xiàn)首字母大寫(xiě)自動(dòng)轉(zhuǎn)為小寫(xiě)”這篇文章吧。

問(wèn)題

在實(shí)體類(lèi)和表中定義的某個(gè)字段為RMBPrice,首字母大寫(xiě),sql查詢(xún)出來(lái)的列名也是大寫(xiě)的RMBPrice,但是使用jquery的datatables初始化列時(shí),卻出錯(cuò)。

那一行的代碼如下:

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

jackson如何解析json字符串實(shí)現(xiàn)首字母大寫(xiě)自動(dòng)轉(zhuǎn)為小寫(xiě)

打開(kāi)頁(yè)面卻會(huì)顯示這個(gè)。查看瀏覽器調(diào)用接口返回的值:

jackson如何解析json字符串實(shí)現(xiàn)首字母大寫(xiě)自動(dòng)轉(zhuǎn)為小寫(xiě)

是小寫(xiě)的rmbprice

分析

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

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

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

如:RRRddRRR會(huì)變成rrrddRRR.

解決辦法

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

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

經(jīng)過(guò)查詢(xún),如果要保留大寫(xiě)需要加上注解。

比如jackson使用:

在實(shí)體類(lèi)定義字段時(shí):

@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;
 }
}

以上是“jackson如何解析json字符串實(shí)現(xiàn)首字母大寫(xiě)自動(dòng)轉(zhuǎn)為小寫(xiě)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI