Go語言是一種支持JSON序列化和反序列化的編程語言,使用golang json for可以輕松地將任何JSON格式的數(shù)據(jù)解析成Go語言結(jié)構(gòu)體。
type Person struct { Name string `json:"name"` Age int `json:"age"` } func main() { jsonStr := `{"name":"John","age":30}` var p Person err := json.Unmarshal([]byte(jsonStr), &p) if err != nil { fmt.Println(err) } fmt.Println(p.Name, p.Age) }
在上面的代碼中,我們定義了一個(gè)Person結(jié)構(gòu)體,并且使用json.Unmarshal函數(shù)來解析JSON字符串。該函數(shù)將JSON字符串解析到傳遞給它的結(jié)構(gòu)體指針中。我們可以使用p.Name和p.Age來訪問解析后的數(shù)據(jù)。
除了Unmarshal函數(shù),Go語言還提供了Marshal函數(shù),它可以將Go語言結(jié)構(gòu)體序列化為JSON格式的字符串。
func main() { p := Person{Name: "John", Age: 30} b, err := json.Marshal(p) if err != nil { fmt.Println(err) } fmt.Println(string(b)) }
在上面的代碼中,我們創(chuàng)建了一個(gè)Person結(jié)構(gòu)體,并將其序列化為JSON字符串。該代碼將輸出{"name":"John","age":30}。
總的來說,使用golang json for可以讓我們輕松地處理JSON數(shù)據(jù),這對于Web開發(fā)和API開發(fā)非常有用。