在Golang中解码json

时间:2015-04-29 16:44:28

标签: json go

我无法弄清楚我的代码解码这个json有什么问题。它返回一个空结构。在这里去游乐场:http://play.golang.org/p/K8WznLT5M0

package main

import (
    "encoding/json"
    "fmt"
)

type ApiParams struct {
    AccessToken string `json:access_token`
    TokenType   string `json:token_type`
    ExpiresIn   int64  `json:expires_in`
}

func main() {
    data := `{
            "access_token": "asdfasdf",
            "token_type": "bearer",
            "expires_in": 5173885
    }`

    var apiParams ApiParams
    err := json.Unmarshal([]byte(data), &apiParams)
    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(apiParams)
}

2 个答案:

答案 0 :(得分:2)

为标签添加双引号:

type ApiParams struct {
    AccessToken string `json:"access_token"`
    TokenType   string `json:"token_type"`
    ExpiresIn   int64  `json:"expires_in"`
}

答案 1 :(得分:2)

您的注释错误..您需要围绕json属性名称的引号,如;

type ApiParams struct {
    AccessToken string `json:"access_token"`
    TokenType   string `json:"token_type"`
    ExpiresIn   int64  `json:"expires_in"`
}