go data_error ai_generated true

错误:无法将 null 反序列化为 main.User 类型的 Go 值

error: json: cannot unmarshal null into Go value of type main.User

ID: go/json-unmarshal-null-into-struct

其他格式: JSON · Markdown 中文 · English
80%修复率
87%置信度
0证据数
2024-08-03首次发现

版本兼容性

版本状态引入弃用备注
1.22 active

根因分析

JSON 数据中的 null 值被尝试反序列化为结构体,但结构体不支持 null。

English

JSON 数据中的 null 值被尝试反序列化为结构体,但结构体不支持 null。

generic

解决方案

  1. 90% 成功率
    type User struct { Name *string `json:"name"` }
  2. 85% 成功率
    var raw json.RawMessage
    if err := json.Unmarshal(data, &raw); err != nil { log.Fatal(err) }

无效尝试

常见但无效的做法:

  1. 60% 失败

    如果该字段是必需的,会导致数据不完整。

  2. 40% 失败

    指针可以接受 null,但需要额外处理空值。