解码的JSON响应返回空结构

朋友:

我正在尝试获取trello组织成员列表。当我打印结果时,我具有正确的结构数(17个结构,17个成员)。

但是struct是空的。

这是我的代码:

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但我有相同的结果。

马克:

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

替换fullName stringFullName stringetc ...保持json属性不变。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章