Go Nested Json Unmarshal

GoでNestされたjsonの扱いがわからなかったのでメモ。

 jStr := `
    {
        "root": {
            "c1": ["cv1"],
            "c2": ["cv2"]
        }
    }
    `

        type Children struct {
                c1 []string `json:"c1"`
                c2 []string `json:"c2"`
        }

        type Root struct {
                c Children `json:"root"`
        }

        var root Root
        if err := json.Unmarshal([]byte(jStr), &root); err != nil {
                log.Fatal(err)
        }
        log.Printf("%+v\n", root)
        

このパッケージも良さそう。 github.com