我正在尝试将仅包含1个字段(显然是数组)的JSON转换为Golang中的复杂结构,但是不幸的是我没有找回数据,相反,我得到了:
{Result:[]}
有人知道为什么吗? (下面的代码)
package main
import (
"encoding/json"
"fmt"
)
type Account struct {
AccountId string
}
type Response struct {
Result []Account
}
func main() {
input := []byte(`{
"result": [
{"account_id" : "1"},
{"account_id" : "2"},
{"account_id" : "3"},
]
}
`)
var resp Response
json.Unmarshal(input, &resp)
fmt.Printf("%+v\n", resp)
}
答案 0 :(得分:0)
在您的教学类型中使用显式标签。
type Account struct {
AccountId string `json:"account_id, omitempty"`
}
如果您是新手,请记住JSON的大小,如果大小很大,请使用流库(jstream或easyjson等), 其他建议是检查可为空的变量,或者当它们为空时忽略它们,可以使用https://github.com/guregu/null
这样的可为空的库干杯!