jackson解析json字符串,首字母大寫會(huì)自動(dòng)轉(zhuǎn)為小寫的方法
問(wèn)題
樓主碰到的問(wèn)題是,在實(shí)體類和表中定義的某個(gè)字段為RMBPrice,首字母大寫,sql查詢出來(lái)的列名也是大寫的RMBPrice,但是使用jquery的datatables初始化列時(shí),卻出錯(cuò)。
那一行的代碼如下:
{"name": "RMBPrice", "data": "RMBPrice", "className": "text-center", "render": formatRMBPrice},
打開頁(yè)面卻會(huì)顯示這個(gè)。查看瀏覽器調(diào)用接口返回的值:
是小寫的rmbprice
分析
接口返回的是一個(gè)@ResponseBody對(duì)象,在代碼中打斷點(diǎn),一直到接口的返回值都是大寫的,所以只可能是轉(zhuǎn)換到j(luò)son的時(shí)候出了問(wèn)題。
百度 json 首字母大寫,就出現(xiàn)了自動(dòng)轉(zhuǎn)換為小寫的文章。
經(jīng)過(guò)測(cè)試確實(shí)是,當(dāng)前幾個(gè)都是大寫的字母,都會(huì)轉(zhuǎn)換成小寫,直到不是大寫為止,若小寫后面還有大寫,則保持大寫。
如:RRRddRRR會(huì)變成rrrddRRR.
解決辦法
我直接修改js里面那行代碼,改為:
{"name": "rmbprice", "data": "rmbprice", "className": "text-center", "render": formatRMBPrice},
經(jīng)過(guò)查詢,如果要保留大寫需要加上注解。
比如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; } }
也有說(shuō):
強(qiáng)制轉(zhuǎn)換,用com.alibaba.fastjson.serializer.PascalNameFilter,直接把首字母轉(zhuǎn)成大寫。如:JSON.toJSONString(bean,new PascalNameFilter());
不過(guò)上面那些我都沒(méi)有試過(guò),因?yàn)槲也捎昧俗詣?dòng)轉(zhuǎn)換為小寫之后的name。想要保留大寫還需要你們自己去多找找看喔~~☺☺
以上這篇jackson解析json字符串,首字母大寫會(huì)自動(dòng)轉(zhuǎn)為小寫的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
jQuery實(shí)現(xiàn)類似標(biāo)簽風(fēng)格的導(dǎo)航菜單效果代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)類似標(biāo)簽風(fēng)格的導(dǎo)航菜單效果代碼,涉及jquery鼠標(biāo)事件操作頁(yè)面元素的遍歷與樣式動(dòng)態(tài)修改技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08由簡(jiǎn)入繁實(shí)現(xiàn)Jquery樹狀結(jié)構(gòu)的方法(推薦)
下面小編就為大家?guī)?lái)一篇由簡(jiǎn)入繁實(shí)現(xiàn)Jquery樹狀結(jié)構(gòu)的方法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06淺談事件冒泡、事件委托、jQuery元素節(jié)點(diǎn)操作、滾輪事件與函數(shù)節(jié)流
下面小編就為大家?guī)?lái)一篇淺談事件冒泡、事件委托、jQuery元素節(jié)點(diǎn)操作、滾輪事件與函數(shù)節(jié)流。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07jQuery插件uploadify實(shí)現(xiàn)ajax效果的圖片上傳
本文主要介紹使用jQuery插件uploadify實(shí)現(xiàn)ajax效果的圖片上傳的功能,有需要的朋友可以參考一下。2016-06-06Jquery如何實(shí)現(xiàn)點(diǎn)擊時(shí)高亮顯示代碼
點(diǎn)擊時(shí)高亮顯示代碼的實(shí)現(xiàn)方法有很多,下面的示例使用jquery來(lái)實(shí)現(xiàn),需要的朋友可以了解下2014-01-01基于Jquery實(shí)現(xiàn)的一個(gè)圖片滾動(dòng)切換
很多效果還是要封裝成插件才好,這里只是給大家個(gè)效果參考。對(duì)像我這種新手應(yīng)該還是有幫助的吧2012-06-06原生js和jquery實(shí)現(xiàn)圖片輪播淡入淡出效果
本文給大家分享的是使用原生的js和jQuery2種方法,分別實(shí)現(xiàn)圖片輪播的淡入淡出效果的代碼,非常實(shí)用,也方便小伙伴們對(duì)比分析,希望對(duì)大家學(xué)習(xí)js和jq能夠有所幫助。2015-04-04