首頁 > web前端 > js教程 > 主體

怎麼操作jackson解析json字串時首字母的大小寫轉換

php中世界最好的语言
發布: 2018-04-14 09:21:49
原創
3537 人瀏覽過

這次帶給大家怎樣操作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;
 }
}
登入後複製

也有說:

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

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

JS的Object值怎麼合併

Angular操作table表格使其排序

以上是怎麼操作jackson解析json字串時首字母的大小寫轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!