首页 > Web开发 > 详细

go学习 06 结构体变量与json字符串互相转换

时间:2021-07-24 11:40:29      阅读:18      评论:0      收藏:0      [点我收藏+]

序列化:go语言结构体变量-->json格式字符串

反序列化:json格式字符串-->go语言结构体变量

package main

import (
	"encoding/json"
	"fmt"
)

//结构体-->json格式
//注意:变量字段首字母需要大写,否自json包拿不到变量最后返回值为空
// type person struct {
// 	Name string
// 	Age  int
// }

//解决方法
type person struct { //这样在json解析时就是小写了
	Name string `json:"name"`
	Age  int    `json:"age"`
}

func main() {
	p1 := person{
		Name: "小王",
		Age:  23,
	}

	//序列化
	a, err := json.Marshal(p1)
	if err != nil {
		fmt.Printf("Marshal faild,err:%v", err)
		return
	}
	fmt.Println(string(a))

	//反序列化
	str := `{"name":"小周","age":22}`
	var p2 person
	json.Unmarshal([]byte(str), &p2) //传指针是为了能在jsop.Unmarshal内部修改p2的值
	fmt.Printf("%#v\n", p2)          //#是为了打印的更详细

}


go学习 06 结构体变量与json字符串互相转换

原文:https://www.cnblogs.com/ZY98/p/15054480.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!