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

go 實現json格式

榮姿康1年前9瀏覽0評論

在Go語言中,操作JSON格式的數據非常方便。Go內置的json包提供了兩個方法:Marshal和Unmarshal。Marshal方法可以將Go語言中的數據類型轉換為JSON格式,而Unmarshal方法則可以將JSON數據反序列化成Go語言的數據類型。

// 將Go語言中的數據類型轉換為JSON格式
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
p := Person{
Name: "張三",
Age:  23,
}
b, err := json.Marshal(p)
if err != nil {
fmt.Println("JSON格式化失敗:", err)
}
fmt.Println(string(b))
}

通過上述代碼可以看到,我們定義了一個Person結構體,里面有Name和Age字段。在main函數中,我們創建了一個Person對象,然后使用json.Marshal方法將其轉換為JSON格式的字符串。

代碼輸出的結果為:

{"name":"張三","age":23}

除了將Go語言中的數據類型轉換為JSON格式,還可以將JSON數據轉換為Go語言的數據類型。示例代碼如下:

// 將JSON數據反序列化成Go語言的數據類型
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
s := `{"name":"張三","age":23}`
var p Person
err := json.Unmarshal([]byte(s), &p)
if err != nil {
fmt.Println("JSON解析失敗:", err)
}
fmt.Println(p)
}

上面的代碼中,我們首先定義了一個JSON格式的字符串,然后使用json.Unmarshal方法將其轉換為Person結構體類型的變量。

輸出的結果為:

{name:張三 age:23}

通過上述代碼,我們可以看到,Go語言操作JSON格式的數據非常方便,不僅支持將Go語言中的數據類型轉換為JSON格式,還支持將JSON數據反序列化成Go語言的數據類型。