目录
1:json 结构demo
2:go解析处理json转map
1:json 结构demo
//json格式
{
"region_1": {
"name": "leyangjun",
"age":"18",
"province":"北京",
},
"region_2": {
"name": "zhangsan",
"age":"18",
"province":"上海",
}
}
2:go解析处理json转map(多层嵌套)
//jsonStr为上面的json字符
printInfo := make(map[string]interface{})
jsonErr = json.Unmarshal([]byte(addressInfo.PrintInfo), &jsonStr)
if jsonErr != nil {
fmt.Println("json解析错误")
return
} else {
for k, v := range jsonStr {
fmt.Println("对应地区信息",k)
//获取对应的name值
//读取嵌套map的时候,不能采用v["name"]的方式,会报type interface {} does not support indexing,需要先如下处理:
//如果遇到类型不一致的需要强转下类型
name := v.(map[string]interface{})["name"].(string)
fmt.Println("姓名为",name)
return
}
}
注意📢:
读取嵌套map的时候,不能采用v["name"]的方式,会报type interface {} does not support indexing,需要先如下处理:v.(map[string]interface{})["name"]