json - json.Unmarshal json 字符串到对象是空结果
问题描述
我有一个非常简单的程序,如下所示:
package main
import (
"encoding/json"
"fmt"
)
type RunCommand struct{
level string `json:"level"`
caller string `json:"caller"`
msg string `json:"msg"`
cmd string `json:"cmd"`
}
func main() {
content := `{"level":"info","caller":"my.go:10","msg":"run","cmd":"--parse"}`
runCommand := RunCommand{}
e := json.Unmarshal([]byte(content), &runCommand)
if e != nil {
fmt.Println("Unmarshal error")
}
fmt.Println(runCommand.level)
}
我希望我可以将“content”中的所有 json 字段解析为“runCommand”对象,但实际上,最终的“fmt.Println”什么也没打印。我哪里做错了?
解决方案
您必须导出字段,如下所示:
type RunCommand struct{
Level string `json:"level"`
Caller string `json:"caller"`
Msg string `json:"msg"`
Cmd string `json:"cmd"`
}
现在您可以使用:fmt.Println(runCommand.Level)
否则json.Unmarshal
将忽略未导出的字段。
推荐阅读
- lua - 尝试索引一个数值
- java - Android实现遍历游戏地图,对角线移动无法正常工作
- python - 如何正确显示 plotly density_mapbox?
- python - 使用 Selenium Webdriver 停止页面加载
- html - 仅当设备是带有 HTML/CSS 的纵向时,我如何显示某些内容?
- mysql - Sql获取连续日期的计数
- python - Django在重定向后得到表单错误
- excel - 是否可以将工作表中的多个范围作为 .emf 图片嵌入到 Outlook 邮件正文中?
- python-3.x - 将 mp4 文件保存到 csv 以训练数据
- html - sceditor如何将bbcode解析回html?