我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 []
}
有谁知道怎么回事?