Go 語言原生支持 Json 格式。Json 是一種輕量級的數據交換格式,廣泛應用于互聯網應用中的數據傳輸,也是許多現代 Web 應用的標準數據格式之一。
在 Go 語言中,Json 數據可以通過標準庫的encoding/json
包進行解析和生成。該包提供了一組簡單易用的函數和類型,使我們能夠輕松地將 Go 數據類型轉換為 Json 數據格式,或將 Json 數據格式轉換為 Go 數據類型。
// 將 struct 轉換為 Json 格式
type Person struct {
Name string
Age int
}
p := Person{"Tom", 18}
b, err := json.Marshal(p)
if err != nil {
fmt.Println("json.Marshal failed:", err)
}
fmt.Println(string(b))
// 將 Json 格式轉換為 struct
type Person struct {
Name string
Age int
}
jsonStr := `{"Name":"Tom","Age":18}`
var p Person
err := json.Unmarshal([]byte(jsonStr), &p)
if err != nil {
fmt.Println("json.Unmarshal failed:", err)
}
fmt.Println(p.Name, p.Age)
在上面的代碼示例中,json.Marshal
函數將一個Person
結構體轉換為 Json 格式的字節數組。而json.Unmarshal
函數則將 Json 格式的字符串轉換為一個Person
結構體。
除了基本的數據類型之外,encoding/json
包還支持將數組、切片、map 和指針等復雜數據類型轉換為 Json 格式。同時,該包還提供了一些高級特性,如自定義 Json 編解碼函數、使用標簽控制 Json 編解碼以及處理空值等。
總的來說,Go 語言中 Json 格式的支持非常好,并且標準庫提供了豐富的函數和類型來幫助我們實現 Json 數據的解析和生成。使用 Json 格式可以方便地進行數據交換和傳輸,是 Web 開發中必不可少的一部分。
下一篇html彈框界面源代碼