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)


}





























原文地址:https://www.cnblogs.com/coderblog/p/10785583.html