Not*_*fer 8

json.Unmarshal
import "encoding/json"


// This is the type we define for deserialization.
// You can use map[string]string as well
type User struct {

    // The `json` struct tag maps between the json name
    // and actual name of the field
    Name string `json:"name"`
}

// This functions accepts a byte array containing a JSON
func parseUsers(jsonBuffer []byte) ([]User, error) {

    // We create an empty array
    users := []User{}

    // Unmarshal the json into it. this will use the struct tag
    err := json.Unmarshal(jsonBuffer, &users)
    if err != nil {
        return nil, err
    }

    // the array is now filled with users
    return users, nil

}