解决 Go 中的 JSON 响应问题:综合指南
在本文中,我们将深入研究在 Go 中创建 JSON 响应时遇到的问题去探索解决方案。
问题声明:
开发人员在构建简单的 HTTP 服务器和处理 JSON 响应时遇到问题。尽管使用与在线找到的示例类似的代码,但还是返回了内容类型为“text/plain”的空响应。
分析:
仔细比较开发人员的代码和工作示例揭示了一个微妙的差异:响应主体结构中的变量在开发人员的代码中没有大写。这会阻碍 JSON 编组过程,因为 Go 需要导出结构体字段名称(大写)才能序列化为 JSON。
解决方案:
解决此问题问题,ResponseCommands结构中的变量必须大写,如下所示:
<code class="go">type ResponseCommands struct { Key string Value bool }</code>
有了这个修改后,Go 将正确识别结构体字段并将其序列化为 JSON。生成的响应现在将包含预期的 JSON 数据,并且内容类型标头将正确设置为“application/json”。
以上是为什么我的 Go HTTP 服务器返回内容类型为“text/plain”的空响应?的详细内容。更多信息请关注PHP中文网其他相关文章!