在go語(yǔ)言中,獲取json請(qǐng)求非常簡(jiǎn)單。我們可以使用內(nèi)置的net/http包中的函數(shù)來(lái)獲取json請(qǐng)求。以下是一個(gè)演示如何獲取json請(qǐng)求的示例:
package main import ( "fmt" "net/http" "encoding/json" ) func main() { http.HandleFunc("/json", func(w http.ResponseWriter, r *http.Request) { if r.Method == "GET" { // 獲取GET參數(shù) query := r.URL.Query() // 獲取name參數(shù) name := query.Get("name") // 獲取age參數(shù) age := query.Get("age") // 構(gòu)造json格式數(shù)據(jù) data := map[string]string{"name": name, "age": age} jsonData, err := json.Marshal(data) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } // 設(shè)置響應(yīng)頭為application/json w.Header().Set("Content-Type", "application/json") // 輸出json數(shù)據(jù) w.Write(jsonData) } }) http.ListenAndServe(":8080", nil) }
在上面的例子中,我們首先使用http.HandleFunc函數(shù)來(lái)處理json請(qǐng)求。使用r.Method來(lái)獲取請(qǐng)求的方法,如果為GET方法,則使用r.URL.Query函數(shù)來(lái)獲取GET參數(shù)。然后我們使用json.Marshal函數(shù)將數(shù)據(jù)轉(zhuǎn)換為json格式。在設(shè)置完響應(yīng)頭之后,我們可以使用w.Write函數(shù)將json數(shù)據(jù)寫(xiě)入響應(yīng)中,完成請(qǐng)求。