Dev Dev - 4 months ago 16
JSON Question

getting Blank values while reading from JSON file in GoLang

I am trying to learn Go. I am writing a simple program to get values from JSON file in GoLang.

package main

import (
"encoding/json"
"fmt"
"io/ioutil"
"os"
)
type bands struct {
id string `json:"id"`
name string `json:"name"`
location string `json:"location"`
year string `json:"year"`
}
func main() {

bands := getBands()
fmt.Println(bands)
}

func getBands() []bands {
raw, err := ioutil.ReadFile("../data/bands.json")
if err != nil {
fmt.Println(err.Error())
os.Exit(1)
}

var c []bands
json.Unmarshal(raw, &c)
return c
}


Also, below is my JSON File:

[{"id":"1","name": "The Beatles","location": "NY","year": "2012"},
{"id":"2","name": "Nirvana","location": "NY","year": "2010"},
{"id":"3","name": "Metallica","location": "NY","year": "1980"}]


When i am running the file, I am getting blank values.

Thanks for the help.

Answer

The fields must start with uppercase letters.

type bands struct {
    Id       string `json:"id"`
    Name     string `json:"name"`
    Location string `json:"location"`
    Year     string `json:"year"`
}