這篇文章主要為大家展示了“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ě)”這篇文章吧。
專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)大連免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了數(shù)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
問(wèn)題
在實(shí)體類和表中定義的某個(gè)字段為RMBPrice,首字母大寫(xiě),sql查詢出來(lái)的列名也是大寫(xiě)的RMBPrice,但是使用jquery的datatables初始化列時(shí),卻出錯(cuò)。
那一行的代碼如下:
{"name": "RMBPrice", "data": "RMBPrice", "className": "text-center", "render": formatRMBPrice},
打開(kāi)頁(yè)面卻會(huì)顯示這個(gè)。查看瀏覽器調(diào)用接口返回的值:
是小寫(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ò)查詢,如果要保留大寫(xiě)需要加上注解。
比如jackson使用:
在實(shí)體類定義字段時(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)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!