Go での JSON 応答の問題の解決: 総合ガイド
この記事では、Go で JSON 応答を作成するときに発生する問題について詳しく説明します。解決策を調べてください。
問題ステートメント:
開発者は、単純な HTTP サーバーを構築し、JSON 応答を処理しているときに問題に遭遇しました。オンラインで見つかったサンプルと同様のコードを使用したにもかかわらず、コンテンツ タイプが「text/plain」の空の応答が返されました。
分析:
開発者のコードと実際のサンプルでは、微妙な違いが明らかになりました。開発者のコードでは、応答本文の構造体の変数が大文字になっていませんでした。 Go では JSON にシリアル化するために構造体フィールド名をエクスポートする (大文字にする) 必要があるため、これにより JSON マーシャリング プロセスが妨げられます。
解決策:
これを解決するにはこの問題では、以下に示すように、ResponseCommands 構造体の変数は大文字にする必要があります:
<code class="go">type ResponseCommands struct { Key string Value bool }</code>
この変更により、Go は構造体のフィールドを適切に認識し、JSON にシリアル化します。結果の応答には予期された JSON データが含まれ、コンテンツ タイプ ヘッダーは「application/json」に正しく設定されます。
以上がGo HTTP サーバーがコンテンツ タイプ「text/plain」の空の応答を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。