在Go 中,使用JSON 內容建構HTTP 回應可能會帶來挑戰,特別是在處理空結果時。本文旨在解決嘗試產生 JSON 回應時面臨的常見問題。
Go 初學者正在嘗試實作具有 JSON 回應功能的簡單 HTTP 伺服器。但是,伺服器始終會傳回內容類型為「text/plain; charset=utf-8」的空回應。開發人員將他們的程式碼與線上範例進行了比較,但未能發現任何差異。
問題的關鍵在於結構體字段的可見性。在 Go 中,必須匯出結構體欄位(大寫)才能進行 JSON 編組存取。
範例程式碼(原始/不正確):
<code class="go">type ResponseCommands struct { key string value bool }</code>
範例程式碼(已修正):
<code class="go">type ResponseCommands struct { Key string Value bool }</code>
匯出欄位時,JSON 編碼器可以正確存取和編碼其值。這個簡單但關鍵的變更解決了問題並允許伺服器返回有效的 JSON 回應。
以上是為什麼我的 Go HTTP 伺服器會回傳空 JSON 回應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!