Go 解析 JSON 的默认值规范
Go 使用encoding/json 包解析 JSON 数据时,可能会遇到这样的需求为输入中缺少的字段分配默认值。
使用方法coding/json 包
是的,内置的encoding/json 包允许你指定默认值。您可以创建一个具有默认值的结构并将其传递给解组函数,而不是初始化用于 JSON 解组的空结构。
示例:
type Test struct { A string B string C string } func main() { var example []byte = []byte(`{"A": "1", "C": "3"}`) out := Test{ A: "default a", B: "default b", } if err := json.Unmarshal(example, &out); err != nil { panic(err) } fmt.Printf("%+v", out) }
中在此示例中,A 和 B 的值分别指定为“默认 a”和“默认 b”。解组 JSON 时,它仅修改输入中存在的值(A 和 C),而其他值保持不变。
输出:
{A:1 B:default b C:3}
以上是Go中解析JSON时如何设置默认值?的详细内容。更多信息请关注PHP中文网其他相关文章!