解決springboot bean中大寫的字段返回變成小寫的問題

例如我的bean中有以下4個字段

private String code;
private String _TOKENUUMS;
private String TGC;
private String U;

在返回的json裡隻會顯示

{“code”:“xx”,“tgc”:“xx”,“u”:“xx”}

大小會變成小寫,特殊符號開頭的字段都不會顯示,其原因是因為springboot在進行序列化和反序列時對字段進行瞭處理。

解決方案是:

import com.fasterxml.jackson.annotation.JsonProperty;

在get方法上加上該註解@JsonProperty

private String code;
  private String _TOKENUUMS;
  private String TGC;
  private String U;
  public String getCode() {
    return code;
  }
  public void setCode(String code) {
    this.code = code;
  }
  @JsonProperty("_TOKENUUMS")
  public String get_TOKENUUMS() {
    return _TOKENUUMS;
  }
  public void set_TOKENUUMS(String _TOKENUUMS) {
    this._TOKENUUMS = _TOKENUUMS;
  }
  @JsonProperty("TGC")
  public String getTGC() {
    return TGC;
  }
  public void setTGC(String TGC) {
    this.TGC = TGC;
  }
  @JsonProperty("U")
  public String getU() {
    return U;
  }
  public void setU(String u) {
    U = u;
  }

返回json會變成{“code”:“xx”,”_TOKENUUMS”:“xx”,“TGC”:“xx”,“U”:“xx”},完美解決問題!

補充:Spring getBean 首字母大小寫問題

今天學習SPRING 的@Qualifier 註解

遇到如下問題:

spring默認的組掃描的bean id 是類名的首字母小寫,如:class Bee ,那麼 bean id 默認為: bee,可是我的程序卻找不到這種格式的bean id

上網查原因,得到解釋:

原來我的類名 class CDPlayer ,我按照默認的規則理解, bean id 應該為 cDPlayer,可偏偏不是這樣,原來:

1、如果類第一個字母大寫第二個小寫,那麼首字母小寫獲取bean

2、如果第一個和第二個字母都是大寫的,那個獲取bean首字母要大寫

這個原理不明白是為什麼,但是的確是這樣,問題解決瞭。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: