Menyelesaikan Isu Respons JSON dalam Go: Panduan Komprehensif
Dalam artikel ini, kami akan menyelidiki isu yang dihadapi semasa membuat respons JSON dalam Pergi dan terokai penyelesaiannya.
Pernyataan Masalah:
Seorang pembangun menghadapi masalah semasa membina pelayan HTTP mudah dan mengendalikan respons JSON. Walaupun menggunakan kod yang serupa dengan sampel yang ditemui dalam talian, respons kosong dengan jenis kandungan "teks/plain" telah dikembalikan.
Analisis:
Perbandingan yang teliti bagi kod pembangun dan sampel yang berfungsi mendedahkan perbezaan yang ketara: pembolehubah dalam struktur badan tindak balas tidak menggunakan huruf besar dalam kod pembangun. Ini menghalang proses marshaling JSON, kerana Go memerlukan nama medan struct untuk dieksport (dihuruf besar) untuk disirikan ke dalam JSON.
Penyelesaian:
Untuk menyelesaikan masalah ini isu, pembolehubah dalam struct ResponseCommands mesti menggunakan huruf besar, seperti yang dilihat di bawah:
<code class="go">type ResponseCommands struct { Key string Value bool }</code>
Dengan pengubahsuaian ini, Go akan mengenali medan struct dengan betul dan menyusunnya menjadi JSON. Respons yang terhasil kini akan mengandungi data JSON yang dijangkakan dan pengepala jenis kandungan akan ditetapkan dengan betul kepada "application/json."
Atas ialah kandungan terperinci Mengapa Pelayan HTTP My Go Mengembalikan Respons Kosong dengan Jenis Kandungan \'teks/biasa\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!