在Go語言中,拼接json可以使用標準庫中的json包,這個包提供了Marshal和Unmarshal兩個函數,可以將Go語言中的數據類型與JSON數據進行轉換。
我們可以使用json.Marshal函數將Go語言中的一個結構體轉換為json格式的字符串,示例代碼如下:
type Person struct { Name string `json:"name"` Age int `json:"age"` } func main() { p := Person{ Name: "Alice", Age: 18, } b, err := json.Marshal(p) if err != nil { log.Fatal(err) } fmt.Println(string(b)) }
上面的代碼中定義了一個結構體Person,使用json.Marshal函數將p轉換為json格式的字符串,并打印出來。輸出結果為:
{"name":"Alice","age":18}
如果要將多個數據類型合并為一個json格式的字符串,可以使用map和slice。示例代碼如下:
type Person struct { Name string `json:"name"` Age int `json:"age"` } func main() { p1 := Person{ Name: "Alice", Age: 18, } p2 := Person{ Name: "Bob", Age: 20, } people := []Person{p1, p2} data := make(map[string]interface{}) data["people"] = people b, err := json.Marshal(data) if err != nil { log.Fatal(err) } fmt.Println(string(b)) }
上面的代碼中定義了兩個結構體p1和p2,使用一個slice將它們合并起來,并將數據存儲到一個map中。最終使用json.Marshal函數將map轉換為json格式的字符串,并打印出來。輸出結果為:
{"people":[{"name":"Alice","age":18},{"name":"Bob","age":20}]}