將JSON 陣列解析為Go 資料結構
處理包含陣列的JSON 資料時,選擇合適的Go 資料結構可能具有挑戰性解析成.例如,如果一個檔案包含一個鍵值對數組,則嘗試使用map[string]string可能會導致類似「無法將數組解組為 main.data 類型的 Go 值」之類的錯誤。
解在於準確辨識JSON結構。雖然提供的範例看起來是一個數組,但它實際上是一個地圖數組。該檔案應類似於以下內容以匹配map[string]string 結構:
{ "a":"1", "b":"2", "c":"3" }
考慮以下程式碼片段,演示將映射數組解析為Go 結構:
package main import ( "encoding/json" "fmt" "io/ioutil" "log" ) type mytype []map[string]string func main() { var data mytype file, err := ioutil.ReadFile("test.json") if err != nil { log.Fatal(err) } err = json.Unmarshal(file, &data) if err != nil { log.Fatal(err) } fmt.Println(data) }
當您使用有效的JSON 檔案執行此程式碼時,它將成功將資料解析為所需的結構,從而使您能夠存取數組中的鍵值對。
以上是如何將 JSON 映射數組解析為 Go 結構?的詳細內容。更多資訊請關注PHP中文網其他相關文章!