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

go json和string轉換

錢衛國2年前12瀏覽0評論

在Go語言中,我們常常需要將JSON數據轉換為字符串或將字符串轉換為JSON數據,這時候就需要使用json和string轉換函數。

首先,我們來看一下如何將JSON數據轉換為字符串。Go語言的json包提供了Marshal函數,可以將一個對象編碼為JSON格式的數據,返回一個[]byte類型的字節數組。

func Marshal(v interface{}) ([]byte, error)

示例代碼:

package main
import (
	"encoding/json"
	"fmt"
)
type Person struct {
	Name string `json:"name"`
	Age  int    `json:"age"`
}
func main() {
	person := Person{Name: "Tom", Age: 18}
	jsonData, err := json.Marshal(person)
	if err != nil {
fmt.Println(err)
return
	}
	fmt.Println(string(jsonData))
}

輸出結果:

{"name":"Tom","age":18}

接下來,我們看一看如何將字符串轉換為JSON數據。Go語言的json包提供了Unmarshal函數,可以將一個JSON格式的字符串解碼為一個對象。

func Unmarshal(data []byte, v interface{}) error

示例代碼:

package main
import (
	"encoding/json"
	"fmt"
)
type Person struct {
	Name string `json:"name"`
	Age  int    `json:"age"`
}
func main() {
	jsonStr := `{"name":"Tom","age":18}`
	person := Person{}
	err := json.Unmarshal([]byte(jsonStr), &person)
	if err != nil {
fmt.Println(err)
return
	}
	fmt.Println(person)
}

輸出結果:

{Tom 18}

以上就是Go語言中json和string轉換的基本用法。需要注意的一點是,在進行string到JSON數據的轉換時,使用Unmarshal函數需要傳入target對象的指針。