在Go語言中,JSON數組是一種非常重要的數據類型。JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易于人閱讀和編寫。Go語言可以很方便地將JSON數據轉換成對應的數據結構。在這篇文章中,我們就來詳細了解一下Go語言中的JSON數組。
package main import ( "encoding/json" "fmt" ) type Person struct { Name string `json:"name"` Age int `json:"age"` } func main() { var json_str = `[{"name":"John","age":25},{"name":"Jane","age":30}]` var persons []Person err := json.Unmarshal([]byte(json_str), &persons) if err != nil { panic(err) } for _, person := range persons { fmt.Println(person.Name) fmt.Println(person.Age) } }
在代碼中,我們定義了一個Person結構體,包含了Name和Age兩個屬性。然后我們定義了一個JSON字符串,包含了兩個Person的數據。使用json.Unmarshal可以將JSON數據解析成Go語言中的數據結構。在這個例子中,我們定義了一個persons的切片將JSON數據解析成多個Person對象。最后,我們可以很方便地遍歷每個Person對象的屬性。
如果我們要將Go語言中的數據結構轉換成JSON數據,也非常簡單。例如,我們想要將一組Person對象轉換成JSON數組,可以使用以下代碼:
func main() { persons := []Person{ {Name: "John", Age: 25}, {Name: "Jane", Age: 30}, {Name: "James", Age: 35}, } json_data, err := json.Marshal(persons) if err != nil { panic(err) } fmt.Println(string(json_data)) }
在這個例子中,我們定義了一個persons切片包含了三個Person對象。使用json.Marshal可以將這個切片轉換成對應的JSON數據。最后,我們輸出這個JSON數據。
通過這篇文章,我們可以看到Go語言非常方便地處理JSON數據,讓我們的編碼工作變得更加簡單。
上一篇go語言 json解析