欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

go解析json

錢浩然2年前8瀏覽0評論

在 Go語言中,解析JSON是一項非常常見的任務。JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,通常用于在客戶端和服務器之間傳遞數據。

Go語言標準庫提供了一組函數用于解析JSON字符串。 json.Unmarshal() 函數是最常用的函數之一,它將JSON字符串解碼并將結果存儲在結構體中。

type Person struct {
Name    string `json:"name"`
Age     int    `json:"age"`
Address string `json:"address"`
}
func main() {
jsonString := `{ "name": "Tom", "age": 21, "address": "Beijing" }`
var person Person
err := json.Unmarshal([]byte(jsonString), &person)
if err != nil {
panic(err)
}
fmt.Println(person)
}

代碼中的 Person 結構體對應于JSON格式中的字段。 Note:`json:"fieldName"` 是一個標記,用于指定JSON中的字段名。

json.Unmarshal() 函數需要兩個參數:JSON 字符串和一個指向要存儲結果的結構體的指針。如果解碼成功,解碼后的結果將存儲在該結構體中。

如果要將JSON解碼為其他類型的值,例如一個map,可以使用 json.Unmarshal() 函數:

jsonString := `{"key1": "value1", "key2": "value2"}`
var data map[string]interface{}
err := json.Unmarshal([]byte(jsonString), &data)
if err != nil {
panic(err)
}
fmt.Println(data)

在此示例中,解碼后數據類型為interface{},也就是說,它可以是基本類型、數組、字典等類型,可以在運行時判斷。

這是解析JSON的基礎,你現在可以將 JSON 解碼到 Go 結構體或 Map 中。