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

go 發送json

錢多多1年前8瀏覽0評論

JSON是一種輕量級且易于使用的數據交換格式。在Golang中,向Web API發送JSON是一項常見的任務,這通常涉及將數據序列化為JSON并將其發送到遠程Web API。

// 定義一個結構體
type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
// 創建一個Person對象
person := Person{Name: "Alice", Age: 25}
// 將對象轉換為JSON字符串
jsonBytes, err := json.Marshal(person)
if err != nil {
log.Fatal(err)
}
// 創建一個HTTP請求
req, err := http.NewRequest(http.MethodPost, "http://example.com/api", bytes.NewBuffer(jsonBytes))
if err != nil {
log.Fatal(err)
}
// 設置請求頭
req.Header.Set("Content-Type", "application/json")
// 發送請求
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
// 解析響應
var result map[string]interface{}
err = json.NewDecoder(resp.Body).Decode(&result)
if err != nil {
log.Fatal(err)
}
// 輸出響應數據
fmt.Println(result)

在上面的示例中,我們首先定義了一個名為Person的結構體來表示一個人物對象,然后創建了一個Person實例,并使用json.Marshal將其轉換為JSON字符串。 接下來,我們創建了一個HTTP請求,并將JSON字符串作為請求正文發送。 在發送請求之前,我們設置了請求頭以指定JSON格式。 使用http.Client.Do方法發送請求并等待響應。 最后,我們使用json.Unmarshal方法將響應的JSON字符串轉換為一個名為result的map。 我們可以使用fmt.Println來輸出響應數據。