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}]