Trying to unmarshal a json text into my own struct. My struct definitions seem correct but json.Unmarshal
doesn't return anything.
package main
import (
"encoding/json"
"fmt"
)
type CmdUnit struct {
Command string
Description string
}
type CmdList struct {
ListOfCommands []CmdUnit
}
type OneCmdList struct {
Area string
CmdList CmdList
}
type AllCommands struct {
AllAreas []OneCmdList
}
func main() {
jsonTxt := `
{
"Area1": [{
"Command": "cmd1",
"Desc": "cmd1 desc"
}, {
"Command": "cmd2",
"Desc": "cmd2 desc"
}],
"Area2": [{
"Command": "cmd1",
"Desc": "cmd1 desc"
}]
}
`
cmds := AllCommands{}
if err := json.Unmarshal([]byte(jsonTxt), &cmds); err != nil {
fmt.Println("Failed to unmarshal:", err)
} else {
fmt.Printf("%+v
", cmds)
}
}
$ go run j.go
{AllAreas:[]}