Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Pelayan HTTP My Go Mengembalikan Respons JSON Kosong?

Mengapa Pelayan HTTP My Go Mengembalikan Respons JSON Kosong?

Susan Sarandon
Susan Sarandonasal
2024-10-27 16:57:31161semak imbas

Why Does My Go HTTP Server Return Empty JSON Responses?

Respons JSON dalam Go: Menyelesaikan Isu dengan Balasan Kosong

Dalam Go, membina respons HTTP dengan kandungan JSON boleh menimbulkan cabaran, terutamanya apabila berurusan dengan hasil yang batal. Artikel ini bertujuan untuk menangani isu biasa yang dihadapi semasa cuba menghasilkan respons JSON.

Pernyataan Masalah

Seorang pemula dalam Go sedang cuba untuk melaksanakan pelayan HTTP mudah dengan fungsi respons JSON. Walau bagaimanapun, pelayan secara konsisten mengembalikan respons kosong dengan jenis kandungan "teks/plain; charset=utf-8". Pembangun telah membandingkan kod mereka dengan contoh dalam talian tetapi gagal mengenal pasti sebarang perbezaan.

Penyelesaian

Inti isu terletak pada keterlihatan medan struct. Dalam Go, medan struct mesti dieksport (huruf besar) untuk boleh diakses untuk JSON marshaling.

Contoh Kod (Asal/Salah):

<code class="go">type ResponseCommands struct {
    key   string
    value bool
}</code>

Contoh Kod (Dibetulkan):

<code class="go">type ResponseCommands struct {
    Key   string
    Value bool
}</code>

Apabila medan dieksport, pengekod JSON boleh mengakses dan mengekod nilainya dengan betul. Perubahan mudah tetapi kritikal ini menyelesaikan isu dan membenarkan pelayan mengembalikan respons JSON yang sah.

Atas ialah kandungan terperinci Mengapa Pelayan HTTP My Go Mengembalikan Respons JSON Kosong?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn