大佬教程收集整理的这篇文章主要介绍了在 Go 中处理 JSON Post 请求,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
请使用Json.Decoder
代替Json.Unmarshal
。
func test(rw http.ResponseWriter, req *http.request) {
decoder := Json.NewDecoder(req.body)
var t test_struct
err := decoder.Decode(&t)
if err != nil {
panic(err)
}
log.Println(t.Test)
}
因此,我有以下内容,这似乎令人难以置信,而且我一直在想,Go 设计的库比这更好,但我找不到 Go 处理 JSON 数据的 POST 请求的示例。它们都是表单 POST。
这是一个示例请求: curl -X POST -d "{\"test\": \"that\"}" http://localhost:8082/test
这是代码,嵌入了日志:
package main
import (
"encoding/json"
"log"
"net/http"
)
type test_struct struct {
Test String
}
func test(rw http.ResponseWriter,req *http.request) {
req.ParseForm()
log.Println(req.Form)
//LOG: map[{"test": "that"}:[]]
var t test_struct
for key,_ := range req.Form {
log.Println(key)
//LOG: {"test": "that"}
err := json.Unmarshal([]byte(key),&t)
if err != nil {
log.Println(err.Error())
}
}
log.Println(t.Test)
//LOG: that
}
func main() {
http.HandleFunc("/test",test)
log.Fatal(http.ListenAndServe(":8082",nil))
}
一定有更好的方法,对吧?我只是难以找到最佳实践。
(Go 在搜索引擎中也称为 Golang,在此提及以便其他人可以找到它。)
以上是大佬教程为你收集整理的在 Go 中处理 JSON Post 请求全部内容,希望文章能够帮你解决在 Go 中处理 JSON Post 请求所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。