package main import "encoding/json" import "fmt" func main() { a := struct{ Y string }{} b := struct{ X interface{} }{a} text := `{"X":{"Y":"zz"}}` if err := json.Unmarshal([]byte(text), &b); err != nil { fmt.Printf("json.Unmarshal: %v\n", err) return } fmt.Printf("%v\n", b) }