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

golang 顯示json

方一強2年前10瀏覽0評論

Go語言中對JSON的支持十分完善,可以輕松地將JSON數據解析為Go的數據結構,也可以將Go的數據結構序列化為JSON格式數據。

為了將Go的數據結構序列化為JSON格式數據,可以使用Go語言內置的`encoding/json`包。這個包提供了方便的API,如下所示:

import "encoding/json"
func Marshal(v interface{}) ([]byte, error)  // 將go的數據結構序列化為json字節數組
func Unmarshal(data []byte, v interface{}) error  // 將json字節數組解析為go的數據結構

其中,`Marshal`函數將Go的數據結構序列化為JSON格式的字節數組,`Unmarshal`函數將JSON格式的字節數組解析為Go的數據結構。

下面是一個序列化結構體的示例:

type Person struct {
Name string
Age  int
}
func main() {
p := Person{Name: "John", Age: 30}
b, err := json.Marshal(p)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(b)) // 輸出: {"Name":"John","Age":30}
}

上面的代碼定義了一個`Person`結構體,其中包含姓名和年齡兩個屬性。我們將這個結構體序列化為JSON格式的字節數組,并輸出到控制臺中。

如果要將JSON格式的字節數組解析為Go的數據結構,可以使用`Unmarshal`函數,示例如下:

type Person struct {
Name string
Age  int
}
func main() {
b := []byte(`{"Name":"John","Age":30}`)
var p Person
err := json.Unmarshal(b, &p)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(p.Name, p.Age) // 輸出: John 30
}

上面的代碼先定義了一個JSON格式的字節數組,然后使用`Unmarshal`函數將字節數組解析為`Person`結構體。最后,輸出了這個結構體的兩個屬性值。

除了上面的示例,`encoding/json`包還提供了更加靈活的API,例如使用JSON標簽對Go的數據結構進行自定義字段名、對JSON格式數據進行格式化等功能。