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))

}

 

posted @ 2019-07-26 14:06  pad+  阅读(150)  评论(0编辑  收藏  举报