首頁  >  文章  >  後端開發  >  為什麼我的 Go HTTP 伺服器會回傳空 JSON 回應?

為什麼我的 Go HTTP 伺服器會回傳空 JSON 回應?

Susan Sarandon
Susan Sarandon原創
2024-10-27 16:57:31161瀏覽

Why Does My Go HTTP Server Return Empty JSON Responses?

Go 中的JSON 回應:解決空回覆問題

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn