类型断言一个嵌套的接口

我将json.Unmarshal JSON转换为interface{}。我无法断言它。http://play.golang.org/p/NAe8voYnb8。


package main


import (

    "encoding/json"

    "log"

)


func main() {

    b := []byte(`{"key1":[

                          {"apple":"A", "banana":"B", "id": "C"},

                          {"cupcake": "C", "pinto":"D"}

                         ]

                  }`)


    var data interface{}

    _ = json.Unmarshal(b, &data)


    log.Println(data)

    // map[key1:[map[apple:A id:C banana:B] map[cupcake:C pinto:D]]]


    ndata, ok := data.(map[string][]map[string]string)

    log.Println(ok, ndata)

    // false map[]


    key_data, ok := ndata["key1"].([]map[string]string)

    log.Println(ok, key_data)

    // false []

}

有人知道怎么回事吗?


沧海一幻觉
浏览 148回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go