将 JSON 解析为 Go 结构体
将 JSON 解析为 Go 结构体可以方便地访问结构化数据配置。虽然您提供的代码片段编译时没有错误,但无法使用正确的值填充结构体字段。
解决问题
问题在于导出的状态你的结构元素。在 Go 中,为了让 JSON 包在编码/解码期间可以访问结构体元素,它必须以大写字母开头。这确保了可以在包外访问该元素。
更正代码
要解决此问题,您需要将每个结构体元素的第一个字母设为大写。更正后的代码如下所示:
var settings struct { ServerMode bool `json:"serverMode"` SourceDir string `json:"sourceDir"` TargetDir string `json:"targetDir"` }
通过将结构元素名称大写,您实际上是在导出它们,使它们可以用于 JSON 编码和解码。现在,当 JSON 解析器遇到 JSON 文件中相应的字段名称时,它会正确地将解析后的值分配给结构体字段。
预期输出
制作后进行此更正后,您的程序现在应该打印 config.json 文件中指定的正确设置值:
true . .
以上是为什么我无法将 JSON 解析到我的 Go 结构中?的详细内容。更多信息请关注PHP中文网其他相关文章!