解码后的json响应返回空结构

时间:2017-12-10 03:44:35

标签: json go struct trello

我正在努力获得trello组织成员名单。 当我打印结果时,我有正确的结构数(17个结构,17个成员)。

但结构是空的。

这是我的代码:

package main

import "fmt"
import "net/http"
import "io/ioutil"
import "encoding/json"
import "bytes"

type Obj struct {
  fullName string `json:"fullName"`
  username string `json:"username"`
  id string `json:"id"`
}

func main() {
    fmt.Printf("hello, world\n")

    var key string = "key"
    var token string = "token"
    var orga string = "organization"

    var url = fmt.Sprintf("https://api.trello.com/1/organizations/%s/members", orga)
    var urlQuery = fmt.Sprintf("?key=%s&token=%s", key, token)

    var fullUrl string = url + urlQuery

    fmt.Println(fullUrl)

    resp, err := http.Get(fullUrl)

    body, err2 := ioutil.ReadAll(resp.Body)
    if err2 != nil {
        panic(err.Error())
    }

    people1 := []Obj{}

    decoder := json.NewDecoder(bytes.NewBuffer(body))
    jsonErr := decoder.Decode(&people1)

    if jsonErr != nil {
      panic(jsonErr)
    }

    fmt.Println(people1)
}

和控制台输出:

[{} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {}]

我尝试过json.Unmarshal,但结果相同。

1 个答案:

答案 0 :(得分:1)

您需要确保导出字段,否则json解码器无法访问它们。

fullName string替换为FullName string等...尽管保持json属性相同。