所以我正在尝试实现一个简单版本的Merge Patch JSON(rfc7396)。这意味着在我传入的json有效负载中,某些字段可以a)具有值b)具有null值(在这种情况下,它们需要在服务器数据库中为空)c)从json中省略。
payload: {
a:"some value"
b: null
}
type SomeStruct struct {
A *string `json:"a,omitempty"`
B *string `json:"b,omitempty"`
C *string `json:"c,omitempty"`
}
因此对于字段b和c,当我将json解组到结构中时,两者均为<nil>
。
当我需要弄清楚如何更新数据库列时,这显然是令人困惑的-因为其目的是应该将b列更改为null,而将c列保留为空
只是想知道在Go中执行此操作的正确方法是什么。 在“节点”中,字段可能是未定义的,为null或具有稍微容易一些的值。