码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-10-07 11:02:18      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:test   pack   slice   hand   any   var   handle   default   序列   

// 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{}存储

标签:test   pack   slice   hand   any   var   handle   default   序列   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!