json - 如何解组嵌套结构 JSON
问题描述
我正在研究 JSON 编码和解码,但我坚持使用嵌套结构解组。
我试图将子结构声明为外部类型和父结构中的显式结构,如下所示:
type WorkingSession struct {
Project Project `json:"project"`
Hours int `json:"hours"`
Date string `json:"date"`
Nested struct{
NestedField string `json:"nested_field"`
} `json:"nested"`
}
type Project struct {
Name string `json:"name"`
}
但是当我执行我的主要内容时:
func main() {
document:= []byte(`
{
"project " : {"name" : "Project 1"},
"hours" : 4,
"date" : "2019-11-03",
"nested" : {"nested_field" : "test"}
}
`)
var ws WorkingSession
err := json.Unmarshal(document, &ws)
log.Println(ws)
if err != nil {
log.Fatal(err.Error())
}
}
它不打印project
嵌套字段:
2019/11/03 11:24:04 {{} 4 2019-11-03 {test}}
怎么了?
解决方案
您的project
密钥中有另一个错字。
你有一个空间"project "
。删除空间,它将正常工作。
document:= []byte(`
{
"project" : {"name" : "Project 1"},
"hours" : 4,
"date" : "2019-11-03",
"nested" : {"nested_field" : "test"}
}
`)
推荐阅读
- docker - Docker RUN 找不到可执行文件
- sql - 如何在 BigQuery 中取消嵌套多级结构?
- python - 我是 tkinter 和 sql.connector 的新手,但是这个错误不断弹出 idk what to do
- amazon-web-services - 如何使用 AWS Media Convert 为 HLS 实施 DRM 静态密钥加密?
- php - Facebook Graph API-在网站上获取页面帖子
- python - 如何合并多个 mp3 文件?
- css - 在woocommerce中更改类别描述的字体大小
- c++ - 激励“内联”说明符的真实世界示例?
- soap - IBM WAS JMX 使用 SOAP 协议与 JConsole 连接
- php - 将今天与 db 中的日期进行比较,并检查 30 天前的天气