go实现Json序列化

文章展示了在Go语言中对结构体、map、切片以及float64类型进行JSON序列化的三种方式。通过定义结构体、创建map和切片,然后使用json.Marshal函数将数据转换为JSON格式的字符串。
摘要由CSDN通过智能技术生成

go实现Json序列化的几种方式

/**
 json 序列化的三种方式
 */

//定义一个结构体
type Person struct {
	Name string    `json:"nickName"`
	Age int			`json:"age"`
	Birthday string
	Sal float64
	Skill string
}

func testStruct() {
	//演示
	person :=Person{
		Name:     "老zhou",
		Age:      43,
		Birthday: "1982-11-11",
		Sal:      8000.0,
		Skill:    "爱狗叫",
	}
	//将 monster 序列化
	data, err := json.Marshal(&person)
	if err != nil {
		fmt.Printf("序列号错误 err=%v\n", err)
	}
	//输出序列化后的结果
	fmt.Printf("person 序列化后=%v\n", string(data))
}

func testMap() {
	//定义一个 map
	var a map[string]interface{}
	//使用 map,需要 make
	a = make(map[string]interface{})
	a["name"] = "老王"
	a["age"] = 30
	a["address"] = "隔壁"
	//将 a 这个 map 进行序列化
	//将 monster 序列化
	data, err := json.Marshal(a)
	if err != nil {
		fmt.Printf("序列化错误 err=%v\n", err)
	}
	//输出序列化后的结果
	fmt.Printf("a map 序列化后=%v\n", string(data))
}

func testSlice() {
	var slice []map[string]interface{}
	var m1 map[string]interface{}
	//使用 map 前,需要先 make
	m1 = make(map[string]interface{})
	m1["name"] = "赵本山"
	m1["age"] = "64"
	m1["address"] = "铁岭"
	slice = append(slice, m1)
	var m2 map[string]interface{}
	//使用 map 前,需要先 make
	m2 = make(map[string]interface{})
	m2["name"] = "许嵩"
	m2["age"] = "18"
	m2["address"] = [2]string{"安徽", "合肥"}
	slice = append(slice, m2)
	//将切片进行序列化操作
	data, err := json.Marshal(slice)
	if err != nil {
		fmt.Printf("序列化错误 err=%v\n", err)
	}
	//输出序列化后的结果
	fmt.Printf("slice 序列化后=%v\n", string(data))
}
func testFloat64() {
	var num1 float64 = 2345.67
	//对 num1 进行序列化
	data, err := json.Marshal(num1)
	if err != nil {
		fmt.Printf("序列化错误 err=%v\n", err)
	}
	//输出序列化后的结果
	fmt.Printf("num1 序列化后=%v\n", string(data))
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值