解组数组和结构类型
尝试将 JSON 数据解析为结构时,确保数据结构和结构之间的兼容性至关重要目标类型。以下错误消息:
panic: json: cannot unmarshal array into Go value of type main.Structure
表示应用程序正在尝试将 JSON 中的数组解组为需要不同类型的结构。
要解决此问题,请考虑以下解决方案:
如果 JSON 数据是对象数组,则根据 JSON 数据的结构将其解组为接口{}的切片或特定结构的切片:
var data []interface{} err = json.Unmarshal(body, &data) // Unmarshal to specific structs: type Tick struct { ID string Name string ... } var data []Tick err = json.Unmarshal(body, &data)
如果需要保留现有结构体,请考虑修改其字段类型以接受数组:
type Structure struct { stuff [][]interface{} // Change to a slice of slices }
以上是为什么会出现'json:无法将数组解组为 main.Structure 类型的 Go 值”以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!