在GoLang中从JSON文件读取时获取空值[重复]

在GoLang中从JSON文件读取时获取空值[重复]

问题描述:

This question already has an answer here:

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.

</div>

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"`
}