最近學習golang的時候,遇到了一個問題,就是如何實現golang json post。這里分享一下我的經驗。
首先,需要先導入"encodings/json"的包:
import "encodings/json"
然后就可以通過以下代碼實現json post:
url := "http://example.com"
data := map[string]string{"name": "John", "age": "25"}
jsonData, err := json.Marshal(data)
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
defer resp.Body.Close()
body, err :=ioutil.ReadAll(resp.Body)
var responseObject Response
json.Unmarshal(body, &responseObject)
其中,需要注重以下幾個點:
- url是post請求的目的網址
- data是一個map,用來存放post請求的數據
- jsonData則是將data轉化為json格式的內容
- req是通過NewRequest方法生成的請求對象
- 在req的header部分,需要設置"Content-Type"為"application/json",這是告訴目標網址這是一個json格式的post請求
- client是通過&http.Client{}來生成的一個http客戶端對象
- resp是通過client.Do(req)執行post請求所得到的響應
- 最后通過json.Unmarshal()將響應體讀取到的內容解析到特定的結構體responseObject中
以上就是golang json post的全部內容了,希望大家可以掌握這個技巧。謝謝!
上一篇Mysql加索引 鎖表