Json 正在解析

Json parsing in go

我正在尝试解析 this url 中的 json。我的代码如下,但输出不符合预期。我只想为 pushevent 提取 id,url inside payload。我怎么做 。谢谢

type events struct {
    id string `json:"id"`
}

func pullUrlFromGit(urlHolder chan string){

    client := &http.Client{}
    resp, _ := client.Get("https://api.github.com/events")
    defer resp.Body.Close()
    body,_ := ioutil.ReadAll(resp.Body)

    var gtevents []events
    json.Unmarshal(body,&gtevents)

    log.Printf("%+v",gtevents)
}

我得到的输出如下。

[{id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:} {id:}]

使 id 字段大写

type events struct {
    Id string `json:"id"`
}

Go json 库使用反射来访问结构的字段。反射只允许修改导出的字段。因此,您需要通过将首字母大写来导出该字段。

Laws of Reflection