如何使用編碼解析表示 Go 中 JSON 陣列的字串/json 套件?
type JsonType struct { Array []string } func main() { dataJson := `["1","2","3"]` arr := JsonType{} unmarshaled := json.Unmarshal([]byte(dataJson), &arr.Array) log.Printf("Unmarshaled: %v", unmarshaled) }
提供的程式碼從 Unmarshal 傳回錯誤值。要正確解析JSON 數組,請使用以下程式碼:
err := json.Unmarshal([]byte(dataJson), &arr)
此外,您可以透過使用切片而不是自訂結構來簡化程式碼:
package main import ( "encoding/json" "fmt" ) func main() { dataJson := `["1","2","3"]` var arr []string err := json.Unmarshal([]byte(dataJson), &arr) fmt.Println(err) fmt.Println(arr) }
此程式碼將輸出:
<nil> [1 2 3]
將指標傳給Unmarshal啟用該函數減少或消除記憶體分配。此外,在處理上下文中,呼叫者可以重複使用相同的值,進一步節省分配。
以上是如何使用 `encoding/json` 套件在 Go 中解析 JSON 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!