去json.Unmarshal不工作

时间:2015-03-22 11:02:43

标签: json go unmarshalling

我有没有解码为struct的json。

我在代码的某个地方知道这个错误,但是我被卡住了,不知道错误在哪里以及我做错了什么

请帮帮我,这是我的代码:

type GOOGLE_JSON struct {
    code        string `json:"code"`
    clientId    string `json:"clientId"`
    redirectUri string `json:"redirectUri"`
}

body := []byte(`{"code":"111","clientId":"222","redirectUri":"333"}`)

//google_json := GOOGLE_JSON{}
var google_json GOOGLE_JSON

err := json.Unmarshal(body, &google_json)
if err != nil {
    fmt.Println(err)
}
fmt.Println(google_json)

example here

1 个答案:

答案 0 :(得分:10)

我发现了错误

    type GOOGLE_JSON struct {
        code        string `json:"code"`
        clientId    string `json:"clientId"`
        redirectUri string `json:"redirectUri"`
    }

必须是大写字母

    type GOOGLE_JSON struct {
        Code        string `json:"code"`
        ClientId    string `json:"clientId"`
        RedirectUri string `json:"redirectUri"`
    }

我不专心

Code // <- exported
ClientId // <- exported
RedirectUri // <- exported

code // <-- not exported
clientId // <-- not exported
redirectUri // <-- not exported