Adalah umum menggunakan JSON untuk membagikan data melalui Web API.
Bahasa Go mendukung JSON encode dan decode dengan package encoding/json.
Berikut code snippet untuk melakukan JSON encoding dan decoding dengan menggunakan perintah marshal dan unmarshal.
package main import ( "encoding/json" "fmt" "log" ) type person struct { First string } func main() { p1 := person{ First: "Wati", } p2 := person{ First: "Budi", } //marshal xp := []person{p1, p2} bs, err := json.Marshal(xp) if err != nil { log.Panic(err) } fmt.Println("JSON: ", string(bs)) //unmarshal xp2 := []person{} err = json.Unmarshal(bs, &xp2) if err != nil { log.Panic(err) } fmt.Println("Go Data Structure", xp2) }
Jika code diatas dijalankan akan menghasilkan data dalam format JSON dan data dalam format Go structure.
JSON: [{"First":"Wati"},{"First":"Budi"}]
Go Data Structure [{Wati} {Budi}]