试试这个,看起来你的结构设置不正确:


http://play.golang.org/p/VRKbv-GVQB


您需要解析整个 json 字符串,它是一个包含名为 的单个元素的对象items。items然后包含string->Person对象的映射。


如果您只想从每个人中提取name和age,您可以通过抓取data.Items["bvu62fu6dq"].Name.


如果您想在 中使用动态键Person,则需要执行map[string]interface{}而不是Person再次捕获动态键。它看起来像:


type Data struct {

    Items map[string]map[string]interface{} `json:"items"`

}

...

fmt.Printf("%v\n", data.Items["bvu62fu6dq"]["name"]

fmt.Printf("%v\n", data.Items["bvu62fu6dq"]["age"]

fmt.Printf("%v\n", data.Items["bvu62fu6dq"]["xyz"]