在 Go 中处理 JSON Post 请求
因此,我有以下内容,这似乎令人难以置信,而且我一直在想,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,在此提及以便其他人可以找到它。)
-
请使用
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中处理JSON发布请求
2021-02-01 关注 0 浏览114 1答案
-
在 Go 中处理 JSON 发布请求
2022-05-26 关注 0 浏览20 1答案
-
Go 中的 POST 请求中发送 JSON 字符串
2021-11-19 关注 0 浏览190 1答案
-
如何在Go中的POST请求中发送JSON字符串
2021-02-01 关注 0 浏览144 1答案
-
在Android的OKhttp中通过POST请求发送JSON正文
2021-01-31 关注 0 浏览268 1答案
-
在Go中将表单值附加到GET / POST请求
2021-02-01 关注 0 浏览80 1答案
-
在 Go 的 http 包中,如何获取 POST 请求的查询字符串?
2021-11-19 关注 0 浏览129 1答案
-
如何使用Android中的HTTPClient在JSON中发送POST请求?
2021-01-31 关注 0 浏览186 1答案
-
在PHP中处理json请求
2021-02-02 关注 0 浏览104 1答案
-
如何在 Go 中发送 POST 请求?
2022-01-03 关注 0 浏览141 1答案