此问题在此处已有答案:
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解组,但我得到了同样的结果。
1条答案
按热度按时间2g32fytz1#
您需要确保字段已导出,否则json解码器无法访问它们。
将
fullName string
替换为FullName string
等...但是保持json属性不变。