我遇到的问题是: 使用 curl发送携带json数据的post请求测试go web程序,到服务端无法正确解析json数据
格式错误的请求方式
(在window 10 cmd控制台发起请求)
正确的请求格式
转移一下字符就可以了 自己太粗心了
贴上go 下的 json包正确解析请求数据方式
注意点: 参数的类型转换
func RegisterHandler(write http.ResponseWriter,request *http.Request){
//解析请求数据
// 1.读取全部字节
data, _ := ioutil.ReadAll(request.Body)
log.Print("data=",string(data)) //data={"hello":"primer"}
// 2.定义保存的数据结构 json数据相当于是一个map
var m map[string]interface{} //需要使用interface,否则对于有些数据类型无法获得数据
_ = json.Unmarshal([]byte(string(data)), &m)
log.Print(m) //map[hello:primer]
// 3.响应数据
_, _ = write.Write([]byte(m["hello"].(string)))
}