• 6、json支持


    package main

    import (
    "encoding/json"
    "fmt"
    )

    // Json 支持

    type Response1 struct{
    Page int

    Fruits []string
    }

    type Response2 struct{
    Page int `json:"page"`
    Fruits []string `json:"fruits"`
    }

    func main(){
    bolB,_:=json.Marshal(true)
    fmt.Println(string(bolB))

    intB,_:=json.Marshal(1)
    fmt.Println(string(intB))

    fltB,_:=json.Marshal(2.34)
    fmt.Println(string(fltB))

    strB,_:=json.Marshal("gopher")
    fmt.Println(string(strB))

    slcD:=[]string{"apple","peach","pear"}
    slcB,_:=json.Marshal(slcD)
    fmt.Println(string(slcB))

    //var map_vaiable map[key_data_type]value_data_type
    mapD :=map[string] int{"apple":5,"lettuce":3}
    mapB,_:=json.Marshal(mapD)
    fmt.Println(string(mapB))

    res1D:=&Response1{
    Page:1,
    Fruits:[]string{"apple","peach","pear"},
    }

    res1B,_:=json.Marshal(res1D)
    fmt.Println(string(res1B))

    res2D :=Response2{
    Page:1,
    Fruits:[]string{"apple","peach","pear"},
    }
    res2B,_:=json.Marshal(res2D)
    fmt.Println(string(res2B))

    byt:=[]byte(`{"num":6.13,"strs":["a","b"]}`)

    var dat map[string]interface{}

    if err:=json.Unmarshal(byt,&dat);err!=nil{
    panic(err)
    }

    fmt.Println(dat)

    //转成合适类型
    num:=dat["num"].(float64)
    fmt.Println(num)

    strs :=dat["strs"].([]interface{})
    str1:=strs[0].(string)
    fmt.Println(str1)


    }





























  • 相关阅读:
    Cookie
    C#计算程序的运行时间
    .Net源码之Page类
    AJAX资源
    匿名方法的使用
    序列化和反序列化
    实验分析C#中三种计时器使用异同点
    (转载)突然就看懂了《大话西游》
    做人、做事,做架构师——架构师能力模型解析
    服务颗粒度的困扰(转)
  • 原文地址:https://www.cnblogs.com/coderblog/p/10785583.html
Copyright © 2020-2023  润新知