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 mainimport ( "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"}