x.(T)
Txx.(T)xnilxT
你的例子:
result["args"].(map[string]interface{})["foo"]
"args"resultsmap[string]interface{}string"foo"
map[string]interface{}structstruct
type Point struct {
Name string
X, Y int
}
func main() {
in := `{"Name":"center","X":2,"Y":3}`
pt := Point{}
json.Unmarshal([]byte(in), &pt)
fmt.Printf("Result: %+v", pt)
}
输出:
Result: {Name:center X:2 Y:3}
在Go Playground号公路上试试吧.
为你的输入建模
您当前的JSON输入可以用此类型建模:
type Data struct {
Args struct {
Foo string
}
}
Foo
d := Data{}
json.Unmarshal([]byte(in), &d)
fmt.Println("Foo:", d.Args.Foo)