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