欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

go json中數組

錢浩然1年前9瀏覽0評論

在Go語言中,使用JSON是一種非常常見的數據交換格式。JSON由鍵/值對組成,并用大括號{}括起來,而數組則用中括號[]括起來。

type Person struct {
Name    string        `json:"name"`
Age     int           `json:"age"`
Hobbies []string      `json:"hobbies"`
}
func main() {
p := Person{
Name:    "Tom",
Age:     30,
Hobbies: []string{"reading", "traveling", "swimming"},
}
b, err := json.Marshal(p)
if err != nil {
panic(err)
}
fmt.Println(string(b))
}

在上面的代碼中,我們定義了一個Person結構體,其中包含了Name、Age和Hobbies三個字段。注意到Hobbies的類型是一個字符串數組。我們在main函數中創建了一個Person實例,并將其轉換為JSON格式。最后,我們使用fmt.Println輸出了轉換后的JSON字符串。

值得注意的是,在JSON中,數組的元素可以是任何有效的JSON類型,例如字符串、數字、布爾值等等。然而,我們通常會將數組定義為某一種特定的類型,以便于后續的處理。

對于使用JSON解析數據的情況,我們同樣可以使用數組來存儲數據。下面是一個簡單的示例代碼:

type Person struct {
Name    string   `json:"name"`
Age     int      `json:"age"`
Hobbies []string `json:"hobbies"`
}
func main() {
jsonString := `{"name":"Tom","age":30,"hobbies":["reading","traveling","swimming"]}`
var p Person
json.Unmarshal([]byte(jsonString), &p)
fmt.Println(p.Name)
fmt.Println(p.Age)
fmt.Println(p.Hobbies)
}

在這個示例中,我們定義了一個JSON字符串,其中包含了一個Person實例的數據。然后,我們使用json.Unmarshal函數將JSON字符串解析成Person結構體,其中的Hobbies字段被解析為一個字符串數組。最后,我們使用fmt.Println函數輸出了解析后的數據。

總的來說,使用數組是Go語言中JSON解析和編碼中非常常見的一種方式。通過了解數組的使用方法,我們可以更好地理解JSON數據的處理思路。