已解码的json响应返回空结构[重复]

qkf9rpyu  于 2022-12-05  发布在  其他
关注(0)|答案(1)|浏览(150)

此问题在此处已有答案

json.Unmarshal returning blank structure(1个答案)
Unmarshal() is returning empty structs(1个答案)
3天前关闭。
我试图得到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解组,但我得到了同样的结果。

2g32fytz

2g32fytz1#

您需要确保字段已导出,否则json解码器无法访问它们。
fullName string替换为FullName string等...但是保持json属性不变。

相关问题