读取json文件的代码:
func init() {
flag.Parse()
file, err := os.Open("conf/config.json")
if err != nil {
panic("配置文件读取出错:" + err.Error())
}
defer file.Close()
decoder := json.NewDecoder(file)
conf := Configuration{}
if err = decoder.Decode(&conf); err != nil {
log.Fatalf("Error:", err)
}
log.Info("%#v", conf)
}
每次到decoder.Decode()的时候就报错如上图。
仔细查看是由于我在json文件里面写了跟go语言的注释,就导致了这个错误
json文件的注释不能这样。
JSON有两种数据结构:
- 名称/值对的集合:key : value样式;
- 值的有序列表:就是Array;
而在JSON的文档中说明只要是不符合上面两种结构的都不被支持,并提示错误。所以: 添加注释//或者/**/在JSON文件中是不允许的。