首页  >  文章  >  后端开发  >  为什么我的 Go HTTP 服务器返回空 JSON 响应?

为什么我的 Go HTTP 服务器返回空 JSON 响应?

Susan Sarandon
Susan Sarandon原创
2024-10-27 16:57:31161浏览

Why Does My Go HTTP Server Return Empty JSON Responses?

Go 中的 JSON 响应:解决空回复问题

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn