首页 >后端开发 >Golang >Go中解析JSON时如何设置默认值?

Go中解析JSON时如何设置默认值?

Patricia Arquette
Patricia Arquette原创
2024-12-14 11:01:12875浏览

How to Set Default Values When Parsing JSON in Go?

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn