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

golang 轉json

錢艷冰1年前9瀏覽0評論

Go是一門簡潔、高效的編程語言,自身支持對JSON數據的序列化和反序列化操作。對于需要將數據轉換成JSON格式的開發者來說,這是一個非常方便的特性。

Go語言通過標準庫中的“encoding/json”包提供了對JSON數據的編碼和解碼支持。這個包內含了一些類型和函數,使得開發者可以輕松地將Go類型轉換為JSON格式,并且從JSON格式數據中還原出原來的Go類型。

// Go對象轉JSON字符串
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
person := Person{Name: "張三", Age: 18}
dataBytes, err := json.Marshal(person)
if err != nil {
panic(err)
}
fmt.Println("Go對象轉JSON字符串:", string(dataBytes))
}

上面的代碼演示了Go對象轉JSON字符串的過程。首先定義了一個名為Person的結構體類型,該結構體有2個字段:Name和Age。隨后,在主函數中實例化了一個Person對象,并使用json.Marshal函數將此對象序列化為一個JSON字符串存入dataBytes變量中。最后將dataBytes變量轉換成字符串打印輸出。

// JSON字符串轉Go對象
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
dataBytes := []byte(`{"name": "李四", "age": 20}`)
person := &Person{}
if err := json.Unmarshal(dataBytes, person); err != nil {
panic(err)
}
fmt.Printf("JSON字符串轉Go對象:name=%s, age=%d\n", person.Name, person.Age)
}

第二段代碼展示了如何將JSON字符串解碼為Go對象。在該程序中,首先定義了一個名為Person的結構體類型,并在主函數中實例化并定義了一個JSON字符串,該字符串遵從Person結構體的定義。接著,通過json.Unmarshal函數將JSON字符串反序列化為一個Person變量person,并對person的字段進行輸出。

總的來說,Go語言的JSON序列化和反序列化功能非常簡單和強大。這種語言內置的支持使得開發者無需使用第三方庫即可完成JSON數據的編碼和解碼操作,這也提高了Go語言的整體編碼效率和開發效率。