1 Star 0 Fork 0

Stefan / xgameCommon

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
JsonParser.go 1.32 KB
一键复制 编辑 原始数据 按行查看 历史
Stefan 提交于 2020-05-11 20:14 . fix import package.
package Config
import (
"github.com/Peakchen/xcommon/akLog"
"encoding/json"
"io/ioutil"
)
/*
json parser for config load.
by stefan 20191108 v2.0
*/
var (
_JsonParseTool *TJsonParseTool
)
type TJsonParseTool struct {
}
func (this *TJsonParseTool) Parse(jsonName string, data interface{}) (err error) {
filedata, err := ioutil.ReadFile(jsonName)
if err != nil {
return
}
err = json.Unmarshal(filedata, data)
return
}
func NewJsonParseTool() *TJsonParseTool {
return &TJsonParseTool{}
}
func init() {
_JsonParseTool = NewJsonParseTool()
}
/*
purpose: parse json to related config module.
param 1: config module.
param 2: config read list.
param 3: file name.
*/
func ParseJson2Cache(obj ICommonConfig, data interface{}, filename string) {
if data == nil {
akLog.Error("config data is nil, filename: ", filename)
return
}
err := _JsonParseTool.Parse(filename, data)
if err != nil {
akLog.Error("[Parse json fail] err: ", err)
return
}
cfg := &TConfig{
data: data,
obj: obj,
}
errlist := cfg.Before()
if errlist != nil && len(errlist) > 0 {
for _, err := range errlist {
akLog.Error("[config Before] err: ", err)
}
return
}
errlist = cfg.After()
if errlist != nil && len(errlist) > 0 {
for _, err := range errlist {
akLog.Error("[config After] err: ", err)
}
return
}
return
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/emmm_admin/xgameCommon.git
git@gitee.com:emmm_admin/xgameCommon.git
emmm_admin
xgameCommon
xgameCommon
v0.0.3

搜索帮助

344bd9b3 5694891 D2dac590 5694891