欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

golang json 大小寫

錢良釵1年前8瀏覽0評論

在Golang中,使用json.Marshal將go的結構體轉換為JSON格式的字節數組時,JSON中字段名的首字母大小寫會影響到轉換結果。

type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
person := Person{"Tom", 25}
b, err := json.Marshal(person)

上述代碼中,Person結構體中的Name和Age字段在定義時使用了`json:"name"`和`json:"age"`,這表示將Go語言中的字段名轉換為JSON中的字段名時,使用小寫轉換。

當我們將person轉換為JSON字節數組時,得到的結果為:

{"name":"Tom","age":25}

我們注意到,JSON中的字段名都是小寫字母開頭的。這是因為在Person結構體中,字段的json tag指定了將Go語言中的字段名轉換為JSON中的字段名時使用小寫字母。

如果我們不添加`json` tag,會得到不同的結果:

type Person struct {
Name string
Age  int
}
person := Person{"Tom", 25}
b, err := json.Marshal(person)

轉換結果為:

{"Name":"Tom","Age":25}

可以看到,JSON中字段名的首字母采用了大寫字母。這是因為在Go語言中,導出的字段名(首字母大寫)可以被其他包訪問,而未導出的字段名(首字母小寫)則只能在本包內使用,因此在采用默認的轉換方式時,字母大寫的字段名會被轉換為JSON中首字母為大寫的字段名。

綜上所述,Golang中的JSON大小寫轉換規則,需要我們在struct定義中添加json tag,指定轉換方式。如果沒有添加json tag,則會采用默認的轉換方式。