Json数据协议

Json数据协议

  1. 导入包:Import “encoding/json”
  2. 序列化: json.Marshal(data interface{})
  3. 反序列化: json.UnMarshal(data []byte, v interface{})

网站json.cn

package main

tyoe User struct {
	UserName string 'json:"username"'
	NickName string 'json:"nickname"'
	Age		 int
	Birthday string
	Sex		 string
	Email	 string
	Phone	 string
}
func testStruct(){
	user1 := &User{
		UserName: "user1",
		NickName: "nickname",
		Age:	  18,
		Birthday: "2008/8/8",
		Sex:	  "男",
		Email:	  "mahuateng@qq.com",
		Phone:	  "110",
	}
	data, err := json.Marshal(user1)//打包json协议
	if err != nil{
		fmt.Println("json.marshal failed, err:", err)
		return
	}
	fmt.Printf("%s\n", string(data)) //byte转换为字符串
}
func testInt(){
	var age = 100
	data, err := json.Marshal(age)
	if err != nil{
		fmt.Printf("json.marshal failer, err:", err)
		return
	}
	fmt.Printf("%s\n", string(data))
}
func testMap(){   //测试map
	var m map[string]interface{}
	m = make(map[string]interface{})
	m["username"] = "user1"
	m["age"] = 18
	m["sex"] = "man"
	data, err := json.Marshal(m)
	if err != nil{
		fmt.Printf("json.marshal failer, err:", err)
		return
	}
	fmt.Printf("%s\n", string(data))
}
func testSlice(){   //测试slice
	var m map[string]interface{}
	var s map[string]interface{}
	m = make(map[string]interface{})
	m["username"] = "user1"
	m["age"] = 18
	m["sex"] = "man"

	s = append(s, m)
	data, err := json.Marshal(s)
	if err != nil{
		fmt.Printf("json.marshal failer, err:", err)
		return
	}
	fmt.Printf("%s\n", string(data))
}


func main(){
	testStruct()
	testInt()
	testMap()
	testSlice()
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

icc*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值