在Go語言中,要將一個類或結(jié)構(gòu)體轉(zhuǎn)換成JSON格式的字符串,需要使用標(biāo)準(zhǔn)庫的json包。下面是一個示例:
type Person struct { Name string `json:"name"` Age int `json:"age"` Email string `json:"email,omitempty"` Address *Address `json:"address,omitempty"` } type Address struct { Street string `json:"street"` City string `json:"city"` State string `json:"state"` Zip string `json:"zip,omitempty"` } func main() { p := &Person{ Name: "John", Age: 30, Email: "john@example.com", Address: &Address{ Street: "123 Main St", City: "Anytown", State: "CA", }, } b, err := json.Marshal(p) if err != nil { log.Fatal(err) } fmt.Println(string(b)) }
在上面的示例中,我們定義了兩個結(jié)構(gòu)體類型Person和Address。Person包含了Name、Age、Email和Address四個字段,其中Email和Address兩個字段后面的,omitempty表示如果值為零值(比如空字符串或空指針),則不輸出。Address結(jié)構(gòu)體包含了Street、City、State和Zip四個字段,其中Zip字段同樣使用了omitempty參數(shù)。
我們在main函數(shù)中創(chuàng)建了一個新的Person指針p,并賦予了屬性值。隨后,我們使用了json.Marshal()函數(shù)將p對象轉(zhuǎn)換成了JSON格式的字節(jié)數(shù)組b。如果錯誤不為空,則使用log.Fatal()函數(shù)來輸出錯誤信息。最后,我們將b字節(jié)數(shù)組轉(zhuǎn)換成字符串輸出到控制臺上。
下一篇mysql加4小時