Go語(yǔ)言中的數(shù)組是一種有序的元素集合,每個(gè)元素具有相同的數(shù)據(jù)類(lèi)型。在進(jìn)行網(wǎng)絡(luò)傳輸或存儲(chǔ)時(shí),需要將數(shù)組轉(zhuǎn)換為JSON字符串格式。
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string
Age int
}
func main() {
persons := []Person{{"Tom", 20}, {"Jane", 25}, {"John", 30}}
jsonBytes, err := json.Marshal(persons)
if err != nil {
fmt.Println("Error:", err)
return
}
jsonStr := string(jsonBytes)
fmt.Println(jsonStr)
}
上面的代碼定義了一個(gè)Person結(jié)構(gòu)體類(lèi)型,包括Name和Age兩個(gè)字段。在main函數(shù)中定義了一個(gè)persons數(shù)組變量,存放了三個(gè)Person結(jié)構(gòu)體對(duì)象。
然后調(diào)用json.Marshal方法將persons數(shù)組轉(zhuǎn)換為JSON格式的字節(jié)數(shù)組jsonBytes,如果轉(zhuǎn)換失敗,則打印錯(cuò)誤信息并返回。
最后將jsonBytes轉(zhuǎn)換為字符串格式j(luò)sonStr輸出即可。