首页 > 编程语言 > 详细

GO语言的json输入(反序列化)之interfac{}存储

时间:2018-10-07 11:00:29      阅读:152      评论:0      收藏:0      [点我收藏+]
// code_032_json_unmarshal_to_interface project main.go package main import ( "encoding/json" "fmt" ) func main() { b := []byte(`{ "company":"tianmei", "subjects":[ "Go", "C++", "Python", "Test" ], "isok":true, "price":666.666 }`) //备注:subjects:["Test",]后面没有元素了,还有逗号会报错的。 var t interface{} err := json.Unmarshal(b, &t) if err != nil { fmt.Println("json err:", err) } fmt.Println(t) //使用断言判断类型 m := t.(map[string]interface{}) for k, v := range m { switch vv := v.(type) { case string: fmt.Println(k, "is string", vv) case int: fmt.Println(k, "is int", vv) case float64: fmt.Println(k, "is float64", vv) case bool: fmt.Println(k, "is bool", vv) case []interface{}: //slice类型的元素为interface{}接收 fmt.Println(k, "is an array:") for i, u := range vv { fmt.Println(i, u) } default: fmt.Println(k, "is of a type I don‘t know to handle") } } }

GO语言的json输入(反序列化)之interfac{}存储

原文:http://blog.51cto.com/13914991/2294181

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!