色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

golang轉換成json數組

傅智翔2年前9瀏覽0評論

在golang中,將數據轉化為json數組并進行傳輸或存儲是常見的操作。golang內置了json庫,可以輕松地將go中的數據類型轉換成json格式,如下所示:

import (
"encoding/json"
"fmt"
)
type Person struct {
Name string
Age  int
}
func main() {
p1 := Person{Name: "Alice", Age: 25}
p2 := Person{Name: "Bob", Age: 35}
people := []Person{p1, p2}
// 將結構體切片轉換為json字節數組
jsonData, err := json.Marshal(people)
if err != nil {
fmt.Println(err)
}
fmt.Println(string(jsonData))
// 輸出:[{"Name":"Alice","Age":25},{"Name":"Bob","Age":35}]
}

在上面的代碼中,我們定義了一個Person類型的結構體,并創建了兩個Person實例。我們將這兩個實例添加到一個Person切片中,并調用json.Marshal()函數將切片轉換為json字節數組。如果轉換成功,我們最后將json字節數組轉換為字符串并輸出。

如果你需要將json數組轉換為go對象,可以使用json.Unmarshal()函數。

type Person struct {
Name string
Age  int
}
func main() {
jsonData := `[{"Name":"Alice","Age":25},{"Name":"Bob","Age":35}]`
var people []Person
// 將json字節數組轉換為結構體切片
err := json.Unmarshal([]byte(jsonData), &people)
if err != nil {
fmt.Println(err)
}
fmt.Println(people)
// 輸出:[{Alice 25} {Bob 35}]
}

在上面的代碼中,我們定義了一個Person類型的結構體,并將json數據存儲在一個字符串變量中。我們創建了一個空的Person切片,并調用json.Unmarshal()函數將json字節數組轉換為Person切片。如果轉換成功,我們最后將打印出Person切片。

這就是使用golang將數據轉換為json數組和json數組轉換為go對象的簡單方法。