我有 json 文件的文件夹,例如:
- 架构文件1.json 文件2.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]]
但是当我尝试从 viper 获取地图时,我收到:
result := viper.GetStringMap(action)
fmt.Println(result)
map[json:map[callback_url:[required url] next_date:[required]]]
有人可以指出我正确的方向,以便我可以接收我存储的类型吗?