golang学习-golang结构体和Json相互转换

1、结构体转为json对象

v, _ := json.Marshal(student)

jsonStr := string(v) // 结构体转为json对象
2、json字符串转为结构体

var s1 Student

err := json.Unmarshal(\[\]byte(str), &s1) //json 字符串转为结构体

3、结构体标签

表示的是转换为json对象时,ID字段变为id,Name字段变为name.

type Student struct {

ID int `json:"id"`

Name string `json:"name"`

// name string 小写表示是私有变量,不能被json包访问

}

Go 复制代码
type Student struct {
	ID   int    `json:"id"`
	Name string `json:"name"`
	// name string  小写表示是私有变量,不能被json包访问
}

func main() {
	var student = Student{
		ID:   123,
		Name: "wei",
	}
	fmt.Println(student)
	v, _ := json.Marshal(student)
	jsonStr := string(v) // 结构体转为json对象
	fmt.Printf("%v\n", jsonStr)

	str := `{"ID":123,"Name":"wei"}`
	var s1 Student
	err := json.Unmarshal([]byte(str), &s1) //json 字符串转为结构体
	if err != nil {
		fmt.Println(err)
	}
	fmt.Printf("%#v", s1)
}
相关推荐
H__Rick20 分钟前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee30 分钟前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
Alsn861 小时前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
YM52e1 小时前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本
学习·华为·harmonyos·鸿蒙·鸿蒙系统
小雨下雨的雨2 小时前
HarmonyOS ArkUI训练营入门-组件掌握系列-Animation 动画效果实现-PC版本
学习·华为·harmonyos·鸿蒙
cqbzcsq3 小时前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
YangYang9YangYan4 小时前
2026初入职场学习数据分析的价值
学习·数据挖掘·数据分析
guslegend4 小时前
理论学习:什么是 Coding Agent?
学习
自传.4 小时前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding
踏着七彩祥云的小丑4 小时前
Go学习第9天:并发编程 + 文件操作 + 正则表达式
学习·golang·正则表达式·go