JSON Marshal dan Unmarshal Menggunakan Go Lang

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}]
Sharing is caring: