如何解决毒蛇在更改数据类型
- 模式 file1.json file2.json
我正在尝试迭代并从map[string]interface{}
并且我正在成功获取此类数据。但是当我将其存储到viper配置中时,它更改为map[json:map[]]
这是片段
func iterateFiles(f string) {
pwd,_ := os.Getwd()
path := pwd + "/schema/"
if f != path {
file,err := IoUtil.ReadFile(f)
if err != nil {
fmt.Println("error reading file: " + f)
}
var result map[string]interface{}
json.Unmarshal([]byte(file),&result)
_,filename := filepath.Split(f)
fmt.Println(result)
viper.Set(filename,result)
}
}
fmt.Println(result)返回我:
map[callback_url:[required url] next_date:[required]]
map[ref:[required string]]
map[ref:[required string]]
但是当我尝试从毒蛇那里获取地图时,我会收到:
result := viper.GetStringMap(action)
fmt.Println(result)
map[json:map[callback_url:[required url] next_date:[required]]]
有人可以指出我正确的方向,以便我可以接收存储的类型吗?
解决方法
像这样解决
r := viper.GetStringMap(action)
result := r["json"].(map[string]interface{})
如果您知道更有效的方法,请告诉我
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。