go语言-JSON

笔记 / 2021-03-15

json标签

type UserInfo struct {
	Name     string `json:"name"`
	Email    string `json:"email"`
	Password string `json:"password"`
} 

结构体到JSON

marshal, _ := json.Marshal(&user1)

JSON到结构体

_ = json.Unmarshal([]byte(rawJson), &user2)

示例代码

package main

import (
	"encoding/json"
	"fmt"
)

type UserInfo struct {
	Name     string `json:"name"`
	Email    string `json:"email"`
	Password string `json:"password"`
}

func main() {
	user1 := UserInfo{
		Name:     "luckFang",
		Email:    "1318659507@qq.com",
		Password: "123456",
	}

	// 生成json
	marshal, _ := json.Marshal(&user1)
	rawJson := fmt.Sprintf("%s", marshal)
	fmt.Println(rawJson)
	var user2 UserInfo

	// 解析json到结构体
	_ = json.Unmarshal([]byte(rawJson), &user2)
	fmt.Printf("%#v\n", user2)

}

{"name":"luckFang","email":"1318659507@qq.com","password":"123456"}
main.UserInfo{Name:"luckFang", Email:"1318659507@qq.com", Password:"123456"}