如何控制Go编码Json数据时的行为
一、自定义Json键名 首先在Go 程序中要将数据编码成JSON 格式时通常我们会先定义结构体类型,将数据存放到结构体变量中。 type Address struct { Type string City string Country string } type CreditCard struct { FirstName string LastName string Addresses []*Address Remark string } home := &Address{"private", "Aartselaar", "Belgium"} office := &Address{"work", "Boom", "Belgium"} card := VCard{"Jan", "Kersschot", []*Address{home, office}, "none"} js, err := json.Marshal(card) fmt.Printf("JSON format: %s", js) 只有导出的结构体成员才会被编码,这也就是我们为什么选择用大写字母开头的字段名称。在编码时,默认使用结构体字段的名字作为JSON对象中的key,但是一般JSON 是给HTTP接口返回数据使用的,在接口的规范里针对数据我们一般都要求返回snake case风格的字段名