Go是Google公司開發(fā)的編程語(yǔ)言,它的json庫(kù)可以很方便地處理JSON格式數(shù)據(jù)。
JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,它易于閱讀和編寫,因此在Web API接口的數(shù)據(jù)交換中廣泛使用。
go的json庫(kù)可以將JSON數(shù)據(jù)與Go的數(shù)據(jù)類型相互轉(zhuǎn)換,非常方便。
import "encoding/json" type Person struct { Name string `json:"name"` Age int `json:"age"` } func main() { // 將Go數(shù)據(jù)類型轉(zhuǎn)為JSON數(shù)據(jù) p := Person{Name: "Tom", Age: 28} b, _ := json.Marshal(p) fmt.Println(string(b)) // {"name":"Tom","age":28} // 將JSON數(shù)據(jù)轉(zhuǎn)為Go數(shù)據(jù)類型 var p2 Person json.Unmarshal(b, &p2) fmt.Println(p2.Name, p2.Age) // Tom 28 }
在上面的例子中,我們定義了一個(gè)Person結(jié)構(gòu)體,使用json標(biāo)簽指定了JSON數(shù)據(jù)中對(duì)應(yīng)的字段名。
在main函數(shù)中,我們將一個(gè)Person類型的變量p轉(zhuǎn)換為JSON格式的數(shù)據(jù),并打印出來(lái)。
接著,我們將JSON格式的數(shù)據(jù)轉(zhuǎn)換為Person類型的變量p2,并打印出它的字段值。
可以看到,使用go的json庫(kù)實(shí)現(xiàn)JSON數(shù)據(jù)與Go數(shù)據(jù)類型的相互轉(zhuǎn)換非常簡(jiǎn)單。