JSON是一種輕量級的數據格式,廣泛用于Web應用程序的數據交換。在Go語言中,我們可以使用內置的encoding/json
包來處理JSON數據。這個包提供了簡單的方法來編碼和解碼JSON數據。
在處理JSON數據時,我們通常需要使用結構體來表示JSON對象。我們可以使用json.Marshal
函數將Go結構體轉換為JSON字符串。例如:
type Person struct { Name string Age int Address string } person := Person{"John Doe", 30, "123 Main St"} jsonString, err := json.Marshal(person) if err != nil { fmt.Println("Error:", err) } fmt.Println(string(jsonString)) // Output: {"Name":"John Doe","Age":30,"Address":"123 Main St"}
我們還可以使用json.Unmarshal
函數將JSON字符串解碼為Go結構體。例如:
type Person struct { Name string Age int Address string } jsonString := `{"Name":"John Doe","Age":30,"Address":"123 Main St"}` var person Person err := json.Unmarshal([]byte(jsonString), &person) if err != nil { fmt.Println("Error:", err) } fmt.Println(person) // Output: {John Doe 30 123 Main St}
當處理JSON數據時還有一些其他的函數和結構體可供選擇。例如,json.Decoder
是一個從IO流讀取JSON數據并將其解碼為Go結構體的工具。需要處理大型JSON數據時,這種方法比將整個JSON數據讀入內存要更有效。
上一篇go json 詳解
下一篇vue cil 打包