在 Go 中編碼 JSON 資料可用以下步驟:使用 json.Marshal 將 Go 類型編碼為 JSON 位元組切片。使用 json.Unmarshal 從 JSON 編碼解碼 Go 類型,將 JSON 位元組切片儲存在 Go 類型中。
在 Go 語言中對 JSON 資料進行編碼是可以透過使用 encoding/json
標準函式庫來完成的簡單明了的過程。該函式庫提供了豐富的函數用於將 Go 類型編碼為 JSON,以及從 JSON 編碼中解碼 Go 類型。
要將Go型別編碼為JSON,可以使用 json.Marshal
函數。該函數接受一個 Go 值並傳回其對應的 JSON 編碼的位元組切片。
package main import ( "encoding/json" "fmt" ) type User struct { Name string Age int Admin bool } func main() { user := User{Name: "John Doe", Age: 30, Admin: false} jsonBytes, err := json.Marshal(user) if err != nil { fmt.Println("Error encoding user:", err) return } fmt.Println(string(jsonBytes)) }
上面的程式碼片段會輸出如下JSON:
{"Name":"John Doe","Age":30,"Admin":false}
要從JSON 編碼解碼一個Go 類型,可以使用json .Unmarshal
函數。此函數接受一個 JSON 編碼的位元組切片,並將對應的值儲存在提供的 Go 類型中。
package main import ( "encoding/json" "fmt" ) type User struct { Name string Age int Admin bool } func main() { jsonBytes := []byte(`{"Name":"John Doe","Age":30,"Admin":false}`) var user User if err := json.Unmarshal(jsonBytes, &user); err != nil { fmt.Println("Error decoding user:", err) return } fmt.Println(user) }
上面的程式碼片段會輸出以下結果:
{John Doe 30 false}
在許多實際場景中需要將Go 類型編碼為JSON,例如:
相反,從JSON 編碼解碼Go 類型也有很多實際應用,例如:
以上是如何在 Golang 中編碼 JSON 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!