cara parsing json dengan decode di golang

Cara Parsing JSON dengan Decode di Golang

JSON (JavaScript Object Notation) adalah format data yang ringan dan populer untuk pertukaran informasi antar aplikasi. Saat bekerja dengan data JSON di Go (Golang), kita dapat menggunakan fungsi json.Unmarshal untuk mengurai (decode) data JSON ke dalam struktur data Go yang sesuai.

Dalam artikel ini, kita akan menjelajahi cara menggunakan fungsi json.Unmarshal dalam Golang untuk decode dan parsing data JSON.

Langkah pertama adalah mengimpor paket encoding/json ke dalam program Go kita. Paket ini menyediakan fungsi-fungsi yang diperlukan untuk mengurai dan membentuk (encode) data JSON.

import (
    "encoding/json"
    "fmt"
)

Setelah mengimpor paket, kita dapat mendefinisikan struktur data Go yang akan digunakan untuk menyimpan data JSON yang diurai. Struktur data ini harus mencerminkan struktur data JSON yang akan kita dekode.

Misalnya, jika kita memiliki JSON seperti ini:

{
    "nama": "John Doe",
    "umur": 30,
    "alamat": "Jl. Contoh, Kota Contoh"
}

Kita dapat mendefinisikan struktur data Go seperti berikut:

type Pengguna struct {
    Nama    string `json:"nama"`
    Umur    int    `json:"umur"`
    Alamat  string `json:"alamat"`
}

Struktur data Pengguna memiliki tiga bidang yang sesuai dengan bidang-bidang dalam JSON. Anotasi json:"nama_bidang" digunakan untuk mengaitkan bidang dalam struktur data dengan bidang dalam JSON.

Setelah mendefinisikan struktur data, kita dapat menggunakan fungsi json.Unmarshal untuk mengurai data JSON ke dalam struktur data Go. Berikut adalah contoh penggunaan fungsi ini:

func main() {
    jsonStr := `{"nama": "John Doe", "umur": 30, "alamat": "Jl. Contoh, Kota Contoh"}`
    
    var pengguna Pengguna
    err := json.Unmarshal([]byte(jsonStr), &pengguna)
    if err != nil {
        fmt.Println("Terjadi kesalahan dalam mengurai JSON:", err)
        return
    }
    
    fmt.Println("Nama:", pengguna.Nama)
    fmt.Println("Umur:", pengguna.Umur)
    fmt.Println("Alamat:", pengguna.Alamat)
}

Pada contoh di atas, jsonStr berisi data JSON yang akan diurai. Kemudian, kita mendeklarasikan variabel pengguna yang merupakan instans dari struktur data Pengguna.

Fungsi json.Unmarshal menerima slice byte yang berisi data JSON dan alamat dari variabel pengguna yang akan diisi dengan data JSON yang diurai. Jika terjadi kesalahan dalam mengurai JSON, fungsi tersebut akan mengembalikan pesan kesalahan.

Selanjutnya, kita dapat mengakses data yang diurai dari struktur pengguna seperti akses ke bidang-bidang dalam struktur biasa. Pada contoh di atas, kita mencetak nilai bidang Nama, Umur, dan Alamat dari struktur pengguna ke layar.

Dengan menggunakan fungsi json.Unmarshal, kita dapat parsing data JSON dengan mudah ke dalam struktur data Go yang sesuai. Ini memungkinkan kita untuk memanipulasi data JSON dengan lebih nyaman dalam lingkungan pemrograman Go.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top