我正在尝试创建一个递归例程来打印复杂json的元素。
func printMap(m map[string]interface{}) {
for k, v := range m {
typ := reflect.ValueOf(v).Kind()
if typ == reflect.Map {
printMap(v)
} else {
fmt.Println(k, v)
}
} }但我得到一个生成错误,可以使用类型v( type interface{} )作为类型mapstring interface {}
有没有办法把它转换成类型,或者我可以让它工作呢?
发布于 2016-10-27 05:56:17
func printMap(m map[string]interface{}) {
for k, v := range m {
m, ok := v.(map[string]interface{}) // <-- assert that v is a map
if ok {
printMap(m)
} else {
fmt.Println(k, v)
}
}
}https://stackoverflow.com/questions/40272698
复制相似问题