[Golang] 实战-go中json.Marshal()和json.Unmarshal()的使用

459 阅读1分钟

😚一个不甘平凡的普通人,致力于为Golang社区和算法学习做出贡献,期待您的关注和认可,陪您一起学习打卡!!!😘😘😘
🤗专栏:算法学习
🤗专栏:Go实战
💬个人主页:个人主页

在这里插入图片描述

json.Marshal()和json.Unmarshal()是Go语言中用于编码和解码JSON数据的两个重要函数

json,Marshal() 把数据转化为JSON格式的字符串

type Person struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
}

p := Person{
    Name: "Alice",
    Age:  30,
}
b, err := json.Marshal(p)
if err != nil {
    panic(err)
}
fmt.Println(string(b)) // {"name":"Alice","age":30}

json.Unmarsal() 将JSON格式的数据解码为对应的go中的数据

type Person struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
}

var p Person
err := json.Unmarshal([]byte(`{"name":"Alice","age":30}`), &p)
if err != nil {
    panic(err)
}
fmt.Println(p.Name, p.Age) // Alice 30