package main
import (
"encoding/json"
"fmt"
)
type User struct {
Name string `json:"name_haha~~"`
Age int
Gender rune
Phone string
}
func main() {
var user User
user = User{
Name: "tom",
Age: 23,
Gender: '男',
Phone: "13333",
}
jsonVar, err := json.Marshal(user) // 将结构类型 序列化成json格式
if err != nil {
fmt.Println("json marshal err:", err)
}
fmt.Println(string(jsonVar)) // 将[]byte类型转换成string类型,并打印
var user2 []User
jsonVar2 := "[{\"name_haha~~\":\"tom\",\"Age\":23,\"Gender\":30007,\"Phone\":\"13333\"}," +
"{\"Name\":\"tom\",\"Age\":23,\"Gender\":30007,\"Phone\":\"13333\"}]"
err = json.Unmarshal([]byte(jsonVar2), &user2) // 反序列化
if err != nil {
fmt.Println("json unmarshal err:", err)
}
fmt.Println(user2)
}
执行结果: