go语言解析 map[string]interface{} 数据格式
2018-04-03 13:22
891 查看
注意事项
map记得分配内存解析出来的int类型会变成float64类型
注意判断不为nil后再转换类型
package main import ( "fmt" "encoding/json" ) func main() { var m map[string]interface{} //声明变量,不分配内存 m = make(map[string]interface{}) //必可不少,分配内存 m["name"] = "simon" var age int = 12 m["age"] = age m["addr"] = "China" print_map(m) fmt.Println() data, err:=json.Marshal(m) fmt.Println("err:", err) fmt.Println(data) fmt.Println() m1 := make(map[string]interface{}) err = json.Unmarshal(data, &m1) fmt.Println("err:", err) fmt.Println(m1) print_map(m1) fmt.Println() if m1["name"]!= nil { fmt.Println(m1["name"].(string)) } if m1["type"]!= nil { fmt.Println(m1["type"].(string)) } else { fmt.Println("there is not the key of type") } } //解析 map[string]interface{} 数据格式 func print_map(m map[string]interface{}) { for k, v := range m { switch value := v.(type) { case nil: fmt.Println(k, "is nil", "null") case string: fmt.Println(k, "is string", value) case int: fmt.Println(k, "is int", value) case float64: fmt.Println(k, "is float64", value) case []interface{}: fmt.Println(k, "is an array:") for i, u := range value { fmt.Println(i, u) } case map[string]interface{}: fmt.Println(k, "is an map:") print_map(value) default: fmt.Println(k, "is unknown type", fmt.Sprintf("%T", v)) } } }
运行结果
name is string simon age is int 12 addr is string China err: <nil> [123 34 97 100 100 114 34 58 34 67 104 105 110 97 34 44 34 97 103 101 34 58 49 50 44 34 110 97 109 101 34 58 34 115 105 109 111 110 34 125] err: <nil> map[addr:China age:12 name:simon] name is string simon addr is string China age is float64 12 simon there is not the key of type Process finished with exit code 0
相关文章推荐
- Gson解析Map格式json数据
- Gson解析(List和Map)格式json数据
- List<Map<String, Object>> 转换成JSON数据格式保存再转List<Map<String, Object>> 返回
- 在Go语言程序中使用gojson来解析JSON格式文件
- 如何将一个List<Map<String,String>>类型的集合数据转换成json格式输出
- c标签遍历List<Map<String, Object>> 数据格式
- 通过Struts标签和JSTL标签来遍历List<Map<String,String>>格式的数据
- Json数据格式解析示例 (语言:Java 包:org.json.jar)
- Golang开发实践:把数据库数据保存到map[string]interface{}中
- Android连接服务器数据库查询+Gson解析(List和Map)格式json数据(一)
- Gson解析(List和Map)格式json数据
- Android JSON数据格式的解析,与简单对象、带泛型的List和Map的转换,以及GSON的使用
- 将JSON格式数据转换成适用于SimpleAdapter的数据形式 List<Map<String, String>>
- Android连接服务器数据库查询+Gson解析(List和Map)格式json数据(二)
- Gson解析(List和Map)格式json数据
- go interface 转 string,解析json
- Gson解析(List和Map)格式json数据
- Go语言_类型转换_interface与强类型(int,string...)转换
- java解析json格式的数据,其中json是List和Map格式