Json(JavaScript Object Notation) 是一種用于交換數據的輕量級、基于文本的數據交換格式。它可以通過鍵值對的形式來表示數據,其中鍵值對之間用逗號分隔,鍵和值之間用冒號分隔。在go語言中,我們可以使用標準庫中的json包來解析json返回值。
import "encoding/json"
type User struct {
Name string `json:"name"`
Age int `json:"age"`
Email string `json:"email"`
Password string `json:"password"`
}
func main() {
jsonStr := `{ "name": "John Doe", "age": 30, "email": "johndoe@example.com", "password": "$2y$12$o9/xd2/lZavB99FllUbZPewLekzIPQEHtHhVvzK0xdDpvOj7iwwCC" }`
var user User
err := json.Unmarshal([]byte(jsonStr), &user)
if err != nil {
panic(err)
}
fmt.Printf("%v\n", user) // {John Doe 30 johndoe@example.com $2y$12$o9/xd2/lZavB99FllUbZPewLekzIPQEHtHhVvzK0xdDpvOj7iwwCC}
}
在以上的代碼中,我們定義了一個結構體User來表示json返回值中的數據。通過設置結構體中各個字段的"json"標簽,我們可以在解析json返回值時將其映射到對應的字段中。
type User struct {
Name string `json:"name"`
Age int `json:"age"`
Email string `json:"email"`
Password string `json:"password"`
}
在main函數中,我們首先定義了一個json字符串,并將其轉換為[]byte類型。之后,我們定義了一個User類型的變量,并調用json.Unmarshal函數來解析json返回值。該函數的第一個參數是一個[]byte類型的json字符串,第二個參數是一個指向User類型變量的指針。如果解析成功,函數將該json字符串的鍵值對映射到User類型變量中,否則會返回一個非nil的錯誤值。
var user User
err := json.Unmarshal([]byte(jsonStr), &user)
if err != nil {
panic(err)
}
fmt.Printf("%v\n", user) // {John Doe 30 johndoe@example.com $2y$12$o9/xd2/lZavB99FllUbZPewLekzIPQEHtHhVvzK0xdDpvOj7iwwCC}
最后,我們可以打印出解析后的User類型變量,以確認解析是否成功。
下一篇vue git