Marshal (Go Object -> JSON)

Marshal merupakan cara untuk mengubah object dalam Golang menjadi JSON string. Object tersebut dapat berupa map[string]interface atau struct.

Contoh code marshal dari struct menjadi JSON object

package main

import (
    "encoding/json"
    "fmt"
)

type User struct {
    Name string
    Age  int
}

func main() {
    users := []User{
        {"andi", 21}, 
        {"andre", 20},
    }
    
    var bytes, err = json.Marshal(users)
    if err != nil {
        fmt.Println(err.Error())
        return
    }
    
    var jsonObject = string(bytes)
    fmt.Println(jsonObject)
}
[{"Name":"andi","Age":21},{"Name":"andre","Age":20}]

Contoh code marshal dari map menjadi JSON object

package main

import (
    "encoding/json"
    "fmt"
)

func main() {
    users := map[string]interface{}{
        "name":     "andi", 
        "age":      21, 
        "":         "empty",
        "test_nil": nil,
    }

    var bytes, err = json.Marshal(users)
    if err != nil {
        fmt.Println(err.Error())
        return
    }
    
    var jsonObject = string(bytes)
    fmt.Println(jsonObject)
}
{"":"empty","age":21,"name":"andi","test_nil":null}

Last updated