gpt4 book ai didi

json - 如何使用 NewDecode、Golang 和 req *http.Request 解码和映射 JSON 对象

转载 作者:数据小太阳 更新时间:2023-10-29 03:06:38 25 4
gpt4 key购买 nike

来自 PHP,我是这里的 Golang 新手。我读到一个与我的问题非常相似的问题,但我的实现略有偏差。每当我使用以下代码进行解码时,变量 msg.Username 始终为空。 Golang 不会在这里抛出错误,所以我知道我在这里遗漏了一些非常小但非常重要的东西,但我不知道它可能是什么。如果有任何帮助,我将不胜感激,当然我希望这是一场拳头对脑袋的顿悟。谢谢!

//The JSON I'm posting to my local server is  
//{"company_domain":"example.com", "user_name":"testu","password":"testpw"}

func Login(w http.ResponseWriter, req *http.Request) {
type Message struct {
CompanyDomain string
Username string
Password string
}
//decode
var msg Message
decoder := json.NewDecoder(req.Body)
err := decoder.Decode(&msg)
if err != nil {
err.Error())
}
w.Write([]byte(msg.Username))// <- This print statement always comes in blank
authorize, err := models.VerifyAuth(msg.Username, msg.Password, msg.CompanyDomain, w)
if err != nil {
err.Error())
}
...

最佳答案

标记您的结构字段,以便解码器知道如何将 json 键映射到您的结构。

type Message struct {
CompanyDomain string `json:"company_domain"`
Username string `json:"user_name"`
Password string `json:"password"`
}

关于json - 如何使用 NewDecode、Golang 和 req *http.Request 解码和映射 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33880196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com