**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答案。
这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
上个月关门了。
Improve this question
为了给您提供上下文,我将 curl 到第三方端点,响应与下面的类似
{
"code": 200,
"message": "Success",
"data": {
"list": [
{
"user": "user A",
"status" : "normal"
},
{
"user": "user B",
"status" : "normal"
}
],
"page": 1,
"total_pages": 5000
}
}
我的结构类似于
type User struct {
Code int `json:"code"`
Message string `json:"message"`
Data struct {
List []struct {
User string `json:"user"`
Status string `json:"status"`
} `json:"list"`
Page int `json:"page"`
TotalPages int `json:"total_pages"`
} `json:"data"`
}
请检查我的代码
defer response.Body.Close()
io_response, err := ioutil.ReadAll(response.Body)
returnData := User{}
err = jsoniter.Unmarshal([]byte(io_response), &returnData)
if err != nil {
log.Println(err)
}
上面的代码返回一个错误
decode slice: expect [ or n, but found {, error found in #10 byte of ...|:{"list":{"1"
当我执行fmt.Println(string(io_response))时,它的返回如下:
{【货号】:200个【留言】:“成功”,“数据”:{“列表”:{“1”:{“用户”:“用户A”,“状态”:“正常”},“2”:{“用户”:“用户A”,“状态”:“正常”} },“页码”:1、“共_页”:2000年} }
你能教我如何正确地阅读回复或者如何解组吗?谢谢
1条答案
按热度按时间8xiog9wr1#
您可以像这样定义您结构: