go data_error ai_generated true

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

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

Also available as: JSON · Markdown · 中文
80%Fix Rate
87%Confidence
0Evidence
2024-08-03First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
1.22 active

Root Cause

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

generic

中文

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

Workarounds

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

Dead Ends

Common approaches that don't work:

  1. 60% fail

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

  2. 40% fail

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