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)
}
相关推荐
武文斌7725 分钟前
ARM工作模式、汇编学习
汇编·嵌入式硬件·学习·arm
lingggggaaaa1 小时前
小迪安全v2023学习笔记(八十讲)—— 中间件安全&WPS分析&Weblogic&Jenkins&Jetty&CVE
笔记·学习·安全·web安全·网络安全·中间件·wps
Jayyih2 小时前
嵌入式系统学习Day36(简单的网页制作)
学习·算法
zheshiyangyang2 小时前
TypeScript学习【一】
javascript·学习·typescript
T1an-13 小时前
Axum web框架【实习】
学习·rust
知识分享小能手3 小时前
React学习教程,从入门到精通, React 新创建组件语法知识点及案例代码(11)
前端·javascript·学习·react.js·架构·前端框架·react
@小红花5 小时前
从0到1学习Vue框架Day03
前端·javascript·vue.js·学习·ecmascript
mysla5 小时前
嵌入式学习day45-硬件—汇编
汇编·学习
永日456705 小时前
学习日记-HTML-day51-9.9
前端·学习·html
xy_recording6 小时前
Day20 K8S学习
学习·容器·kubernetes