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