Golang是一門高效,安全,簡(jiǎn)單易學(xué)的編程語言,自從面世以來,就備受程序員們的追捧,成為了當(dāng)今最受歡迎的語言之一。在Golang中,操作JSON是比較常見的一種操作,這里我們來詳細(xì)了解一下。
在Golang中,我們可以使用encoding/json包來實(shí)現(xiàn)JSON的編解碼。下面是一個(gè)例子:
type Book struct { Title string `json:"title"` Author string `json:"author"` } func main() { book := Book{Title: "Golang JSON", Author: "Jenny"} jsonData, _ := json.Marshal(book) fmt.Println(string(jsonData)) }
執(zhí)行上述程序輸出的結(jié)果為:
{"title":"Golang JSON","author":"Jenny"}
說明我們成功地將一個(gè)結(jié)構(gòu)體轉(zhuǎn)換成了JSON字符串。實(shí)際上,在Golang中,我們還可以將JSON字符串轉(zhuǎn)換成一個(gè)結(jié)構(gòu)體:
jsonStr := `{"title":"Golang JSON","author":"Jenny"}` book := Book{} json.Unmarshal([]byte(jsonStr), &book)
在上面的例子中,我們將一個(gè)JSON字符串解析成了一個(gè)結(jié)構(gòu)體,并且通過打印輸出來驗(yàn)證了結(jié)果:
fmt.Println(book.Title) // 輸出 Golang JSON fmt.Println(book.Author) // 輸出 Jenny