Unmarsal merupakan cara untuk mengubah JSON string menjadi golang object berupa map[string]interface atau struct.
Contoh code decode dari JSON string menjadi struct
package main
import (
"encoding/json"
"fmt"
)
type User struct {
Name string `json:"Name"`
Age int
}
func main() {
var jsonString = `{"Name": "john wick", "Age": 27, "Address": "Test"}`
var jsonData = []byte(jsonString) // slice byte
var user User
// json -> struct
var err = json.Unmarshal(jsonData, &user)
if err != nil {
fmt.Println(err.Error())
return
}
fmt.Println(user)
fmt.Println(user.Name)
fmt.Println(user.Age)
}
Contoh code decode dari JSON string menjadi map
package main
import (
"encoding/json"
"fmt"
)
func main() {
var jsonString = `{"Name": "john wick", "Age": 27}`
var jsonData = []byte(jsonString)
var user map[string]interface{}
// json -> struct
var err = json.Unmarshal(jsonData, &user)
if err != nil {
fmt.Println(err.Error())
return
}
fmt.Println(user)
}
map[Age:27 Name:john wick]