报告在结构体型字段中使用 ,omitempty 的 JSON 结构体标记。
对于结构体值,,omitempty 不会省略该字段,因为结构体值绝不会为 nil。
在 Go 1.24 及更高版本中,当结构体值为零值时,,omitzero 会省略该字段。
注意:将 ,omitempty 替换为 ,omitzero 是一种行为改变。 如果该字段以前一直存在,则可以省略该字段。
示例:
type Event struct {
CreatedAt time.Time `json:"created_at,omitempty"`
Source Source `json:"source,omitempty"`
}
要修正代码,请执行以下操作之一:
在移除标记的快速修复之后:
type Event struct {
CreatedAt time.Time `json:"created_at"`
Source Source `json:"source"`
}
在改变行为的快速修复之后:
type Event struct {
CreatedAt time.Time `json:"created_at,omitzero"`
Source Source `json:"source,omitzero"`
}