簡體   English   中英

我應該為沒有數據的json返回null,空對象或空數組嗎?

[英]Should I return null, an empty object or an empty array for json with no data?

我發送一個搜索數據庫的ajax請求。 如果沒有找到結果,是否有理由選擇返回null{}[] 一個被認為是“標准”還是“最佳實踐”?

差異可以忽略不計。

null是表示“無值”的常用方法,但您的客戶端代碼需要明確檢查。

如果響應實際上意味着“這里是結果,但它們是空的”, []{}可能更合適,只要您匹配非空響應的格式(即,如果客戶端期望數組,不發送{} ,反之亦然)。

基本上:

  • 如果空結果集是特殊情況並且您想為其編寫顯式行為,則null似乎更合適。
  • 如果您的客戶端需要一個數組(例如它將遍歷結果),那么使用[]
  • 如果您的客戶端需要鍵值對的映射 (例如,它將循環鍵或將使用result[someKey] ),則使用{}
  • 如果您的客戶端需要單個對象 (即它期望結果具有眾所周知的屬性並且將執行類似result.someProperty ),則null優於返回空對象。

或者更清楚:如果客戶端將結果視為單個值,請使用null 如果客戶將其視為列表,請使用[] 如果客戶將其視為地圖,請使用{}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM