Go語言中從post獲取JSON數據的方法非常簡單。我們只需要對接收到的數據進行解析,就能夠得到我們需要的數據內容。
package main import ( "fmt" "net/http" "encoding/json" ) type User struct { Name string `json:"name"` Age int `json:"age"` } func main() { http.HandleFunc("/user", func(w http.ResponseWriter, r *http.Request) { if r.Method == http.MethodPost { var u User decoder := json.NewDecoder(r.Body) err := decoder.Decode(&u) if err != nil { panic(err) } fmt.Printf("Name: %s\tAge: %d\n", u.Name, u.Age) } }) http.ListenAndServe(":8080", nil) }
首先,我們定義了一個名為User的結構體類型,它有兩個實例字段:Name和Age。這兩個字段將被用來存儲我們從JSON數據中解析出來的值。
接下來,在main函數中,我們使用http.HandleFunc函數來創(chuàng)建一個路由,它會在POST請求到來時調用一個匿名函數。
匿名函數中使用了if語句檢查請求方法是否為POST。如果是,使用json.NewDecoder(r.Body)來創(chuàng)建一個JSON解碼器,并調用其Decode方法將請求體中的JSON數據解析到User對象u中。
最后,我們就可以從u實例中獲取我們需要的值,這里是Name和Age。它們將被輸出到控制臺上。
上一篇python 打開文件寫
下一篇python 選擇吃什么