解決springboot bean中大寫的字段返回變成小寫的問題
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首字母要大寫
這個原理不明白是為什么,但是的確是這樣,問題解決了。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章: