我遇到的问题是: 使用 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)))
}
本文解决了一个在使用curl发送携带JSON数据的POST请求到GoWeb程序时遇到的问题,即服务端无法正确解析JSON数据。文章详细介绍了如何在Windows 10 CMD控制台正确发起请求,并展示了Go语言下JSON包解析请求数据的正确方式,包括数据读取、类型转换和响应处理。

被折叠的 条评论
为什么被折叠?



