6-1 json 序列化
package main import ( "encoding/json" "fmt" ) type Persion struct { Name string Age int Rmb float64 Sex bool Hobby []string } func main01() { persion := Persion{"谦哥", 50, 123.45, true, []string{"抽烟", "喝酒", "烫头"}} bytes, e := json.Marshal(persion) if e != nil { fmt.Printf("序列化失败,err=",e) return } fmt.Println(string(bytes)) } //使用map[string]interface{}描述谦哥 并转json //interface{}可以表示任意类型数据 func main() { dataMap := make(map[string]interface{}) dataMap["name"]= "谦哥" dataMap["age"]= 50 dataMap["sex"]= true dataMap["hobby"]= []string{"抽烟","喝酒","烫头"} bytes, e := json.Marshal(dataMap) if e != nil { fmt.Printf("序列化失败,err",e) return } fmt.Println(string(bytes)) } //使用map切片描述谦哥的小姨子们并转json func main03() { //创建一个由map组成的切片 dataSlice := make([]map[string]interface{}, 0) datamap := make(map[string]interface{}) datamap["name"]="王钢蛋" datamap["hobby"]=[]string{"抽中华","喝牛栏山","烫花卷头"} datamap1 := make(map[string]interface{}) datamap1["name"]="王铁蛋" datamap1["hobby"]=[]string{"抽玉溪","喝五粮液","烫沙宣"} datamap2 := make(map[string]interface{}) datamap2["name"]="王铜蛋" datamap2["hobby"]=[]string{"抽小熊猫","喝茅台","烫鸡冠头"} dataSlice = append(dataSlice, datamap, datamap1, datamap2) bytes, e := json.Marshal(dataSlice) if e != nil { fmt.Println("序列化失败,err=",e) return } fmt.Println(string(bytes)) }