Go語(yǔ)言的JSON(JavaScript Object Notation)包可以讓我們很方便地以JSON格式進(jìn)行讀寫操作,其中對(duì)數(shù)組的支持也是非常好的。
在JSON中,數(shù)組是由一系列按順序排列的值組成,使用方括號(hào)[]表示。比如這樣:
[ "apple", "banana", "cherry" ]
在Go語(yǔ)言中,我們可以使用[]interface{}類型來(lái)讀取和寫入JSON數(shù)組。
下面是一個(gè)簡(jiǎn)單的例子:
package main import ( "encoding/json" "fmt" ) func main() { str := `[ "apple", "banana", "cherry" ]` var arr []interface{} json.Unmarshal([]byte(str), &arr) fmt.Println(arr) }
我們首先定義了一個(gè)JSON字符串,然后使用json.Unmarshal()函數(shù)將其解析成一個(gè)[]interface{}類型的數(shù)組。最后,我們打印出這個(gè)數(shù)組,就可以看到它的值是:
[apple banana cherry]
當(dāng)然,我們也可以將Go語(yǔ)言中的數(shù)組轉(zhuǎn)換為JSON字符串。同樣,我們可以使用[]interface{}類型來(lái)表示數(shù)組:
package main import ( "encoding/json" "fmt" ) func main() { arr := []interface{}{ "apple", "banana", "cherry" } str, _ := json.Marshal(arr) fmt.Println(string(str)) }
在這個(gè)例子中,我們定義了一個(gè)[]interface{}類型的數(shù)組,然后使用json.Marshal()函數(shù)將其轉(zhuǎn)換為JSON字符串。最后,我們使用fmt.Println()打印出這個(gè)JSON字符串,就可以看到它的值是:
["apple","banana","cherry"]
總之,Go語(yǔ)言的JSON包提供了非常好的支持,可以讓我們輕松地讀寫JSON數(shù)組。