文章詳情頁
java - spring返回json如何判斷會返回null還是empty?
瀏覽:172日期:2023-11-03 11:23:13
問題描述
利用spring提供的@ResponseBody可以非常方便的返回的json對象。
但是有一個問題是,有時候無法判斷@ResponseBody會返回empty('')還是null,題主大致觀察了一下。好像對于java中的String不管是null還是'',最終通過json返回的都是'',而對于Object,都會返回null,而對于int型數據都會返回0。
請問上面的結論是否正確?
問題解答
回答1:這個跟你的pojo中的實例變量類型和使用的json庫有關(json庫可以設置對null如何處理)
回答2:1.返回POJO時可以將業務數據封裝,比如封裝成JSONResult類,里面有code,msg,data其中data是業務數據(也就是POJO實例),code是狀態碼,msg是說明,這樣當業務數據為空的時候,返回錯誤碼就好,這樣返回結果依然是json格式數據,方便接口調用者處理。
2.直接返回JSON格式數據,利用fastjson或者net.sf.json,直接返回JSONObject對象,將業務數據手動或者自動填入JSONObject對象中。
回答3:如果使用的Jackon庫的話可以再pojo上面注解@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL),這樣的話如果某個屬性值為null或者'',則序列化為json的時候不會包含key
標簽:
java
相關文章:
1. javascript - vscode alt+shift+f 格式化js代碼,通不過eslint的代碼風格檢查怎么辦。。。2. javascript - 如何將一個div始終固定在某個位置;無論屏幕和分辨率怎么變化;div位置始終不變3. html5 - 有可以一次性把所有 css外部樣式轉為html標簽內style=" "的方法嗎?4. javascript - 有什么比較好的網頁版shell前端組件?5. java - 如何寫一個intellij-idea插件,實現編譯時修改源代碼的目的6. javascript - 原生canvas中如何獲取到觸摸事件的canvas內坐標?7. java 中Long 類型如何轉換成Double?8. javascript - 求解答:實例對象調用constructor,此時constructor內的this的指向?9. html - vue項目中用到了elementUI問題10. javascript - [js]為什么畫布里不出現圖片呢?在線等
排行榜
