How to Unmarshal nested JSON structure?
Example
package main
import (
"encoding/json"
"fmt"
)
func main() {
jStr := `
{
"AAA":{
"BBB": {
"CCC": ["1111"],
"DDD": ["2222", "3333"]
}
}
}
`
type Inner struct {
Key2 []string `json:"CCC"`
Key3 []string `json:"DDD"`
}
type Outer struct {
Key Inner `json:"BBB"`
}
type Outmost struct {
Key Outer `json:"AAA"`
}
var cont Outmost
json.Unmarshal([]byte(jStr), &cont)
fmt.Printf("%+v\n", cont)
}
Output
{Key:{Key:{Key2:[1111] Key3:[2222 3333]}}}
Most Helpful This Week
Various examples of Carbon date-time package in Golang
How to verify a string only contains letters, numbers, underscores, and dashes in Golang?
Dynamic JSON parser without Struct in Golang
Get Hours, Days, Minutes and Seconds difference between two dates [Future and Past]
Regular expression to validate common Credit Card Numbers
How pointer & and * and ** works in Golang?