在go中解析文件中的json

时间:2014-04-03 17:01:15

标签: json go

config.json

{
    "admins": [
        "AdminA",
        "AdminB"
    ],
    "apikey": "apikey"
}

main.go

package main

import (
    "os"
    "fmt"
    "encoding/json"
)

type MainConfiguration struct {
    admins []string `json:"admins"`
    apikey string `json:"apikey"`
}

func ParseConf() *MainConfiguration {
    f, _ := os.Open("config.json")
    defer f.Close()
    d := json.NewDecoder(f)
    m := &MainConfiguration{}
    d.Decode(m)
    return m
}

func main() {
    conf := ParseConf()
    fmt.Printf("%s", conf)
}

在寻找我能解决的所有问题后,我得到的是:

& {[]}

这里有什么问题,为什么这是空的?基本的,我基本上只是从其他地方复制/粘贴,虽然这可能很常见,但我找不到这个具体问题的答案。

1 个答案:

答案 0 :(得分:3)

您需要在MainConfiguration中设置字段(注意第一个大写字母):

type MainConfiguration struct {
    Admins []string `json:"admins"`
    Apikey string `json:"apikey"`
}