您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Go中解析JSON时如何指定默认值

在Go中解析JSON时如何指定默认值

使用encoding / json可以实现:调用json.Unmarshal,不需要给它一个空结构,可以给它一个认值。

例如:

var example []byte = []byte(`{"A": "1", "C": "3"}`)

out := Test{
    A: "default a",
    B: "default b",
    // default for C will be "", the empty value for a string
}
err := json.Unmarshal(example, &out) // <--
if err != nil {
    panic(err)
}
fmt.Printf("%+v", out)

在Go操场上运行此示例将返回{A:1 B:default b C:3}

如您所见,json.Unmarshal(example, &out)将JSON解组为out,覆盖JSON中指定的值,但其他字段保持不变。

Go 2022/1/1 18:22:31 有309人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶