已解码 json 响应 return 空结构
Decoded json response return empty struct
我正在尝试获取 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 但结果相同。
您需要确保字段已导出,否则 json 解码器无法访问它们。
将 fullName string
替换为 FullName string
等...但保持 json 属性不变。
我正在尝试获取 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 但结果相同。
您需要确保字段已导出,否则 json 解码器无法访问它们。
将 fullName string
替换为 FullName string
等...但保持 json 属性不变。