您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“jackson如何解析json字符串實現首字母大寫自動轉為小寫”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“jackson如何解析json字符串實現首字母大寫自動轉為小寫”這篇文章吧。
問題
在實體類和表中定義的某個字段為RMBPrice,首字母大寫,sql查詢出來的列名也是大寫的RMBPrice,但是使用jquery的datatables初始化列時,卻出錯。
那一行的代碼如下:
{"name": "RMBPrice", "data": "RMBPrice", "className": "text-center", "render": formatRMBPrice},
打開頁面卻會顯示這個。查看瀏覽器調用接口返回的值:
是小寫的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; } }
以上是“jackson如何解析json字符串實現首字母大寫自動轉為小寫”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。