gpt4 book ai didi

go - json上的嵌套结构返回null

转载 作者:行者123 更新时间:2023-12-01 22:33:26 25 4
gpt4 key购买 nike

我有以下JSON响应

{
"data": {
"app": {
"name": "api"
},
"client": [
{
"id": 20,
"plan": {
"id": 1,
"name": "ssj892"
}
}
],
"user": {
"email": "test@example.com",
}
}
}
和以下结构
Response struct {
Data Data `json:"data"`
}

Data struct {
User User `json:"user"`
}

User struct {
Email string `json:"email"`
Client Client `json:"client"` // has fields, but no data
// Client []Client `json:"client"` // null
// Client *Client `json:"client"` // null
}

Client struct {
Id int `json:"id"`
Plan Plan `json:"plan"`
}

Plan struct {
Id int `json:"id"`
Name string `json:"name"`
}
去lang代码
defer resp.Body.Close()

if resp.StatusCode == 200 {
res := &Response{}
err := json.NewDecoder(resp.Body).Decode(Response)
现在,为什么客户端会返回空白记录?我不知道我错过了什么。我在结构上尝试了[] Client,因为客户端可以返回多个id,但是它返回的是null。任何帮助深表感谢。
...
"client": {
"id": 0,
"plan": {
"id": 0,
"name": "",
}
}
...

最佳答案

根据JSON,“客户端”位于“数据”内部,但不在“用户”内部
因此,您的结构应如下所示

Data struct {
User User `json:"user"`
Client []Client `json:"client"` // has fields, but no data
// Client Client `json:"client"` // null
// Client *Client `json:"client"` // null
}

User struct {
Email string `json:"email"`
}

关于go - json上的嵌套结构返回null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63987245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com