学习时发现使用decode()方法解析json文件报错 invalid character '"' after object key:value pair
先上json代码
{
"app_host":"localhost",
"app_port":":8002"
}
解析方法
//解析app.json文件
func ParseConfig(path string) (_ *Config, err error) {
file, err := os.Open(path)
if err != nil {
log.Panic(err)
}
defer file.Close()
//读取文件内容
reader := bufio.NewReader(file)
decode := json.NewDecoder(reader)
err = decode.Decode(&_cfg)
if err != nil {
return nil, err
}
return _cfg, nil
}
经过测试发现时因为json文件中":8002"解析时出错,去掉冒号,改为”8002“就行了
”:“为json关键字,当关键字作为数据时应当使用转义符标记
json 字符串关键字有7个,如果为数据,需要转义:
" : \ {} [] -->
\" \: \\ \{ \}