码迷,mamicode.com
首页 > Web开发 > 详细

63_json解析成map格式

时间:2019-10-06 00:15:40      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:data   数据   注意   sha   interface   ring   无法   文本   string   

package main

import (
"encoding/json"
"fmt"
)

func main() {
//json文本
JsonBuff := `
{
"Name":"steven",
"Subject":[
"C++",
"Go",
"Python"
],
"Isok":true,
"Price":66.66
}
`
m := make(map[string]interface{}, 4)
err := json.Unmarshal([]byte(JsonBuff), &m)
if err != nil {
fmt.Println("err=", err)
return
}
fmt.Println(m)
//map[Subject:[C++ Go Python] Isok:true Price:66.66 Name:steven]

//如何提取map中的数据

//
// str = string(m["Name"])//无法转换
// fmt.Println("str=", str)

//使用类型断言,进行提取map里面的数据
var str string
for key, value := range m {
switch data := value.(type) { //返回value 的值data

case string:
str = data
fmt.Printf("map[%s]的值类型为string,value=%s\n", key, str)
case bool:
fmt.Printf("map[%s]的值类型为bool,value=%v\n", key, data)
case float64:
fmt.Printf("map[%s]float64,value=%f\n", key, data)
//注意这是一个万能的类型{}不要忘了
case []interface{}:
fmt.Printf("map[%s]的值类型为slice,value=%v\n", key, data)

}
}

}

63_json解析成map格式

标签:data   数据   注意   sha   interface   ring   无法   文本   string   

原文地址:https://www.cnblogs.com/zhaopp/p/11626083.html

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