我的客户端 javascript 将此 JSON 发布到服务器端:
{ username: 'hello', password: 'world' }
我的 Go 服务器端代码:
type AuthJSON struct {
Username string `json:"username"`
Password string `json:"password"`
}
func AuthenticationHandler(w http.ResponseWriter, r *http.Request) {
// Parse the incoming user/pass from the request body
var body AuthJSON
err := json.NewDecoder(r.Body).Decode(&body)
log.Println(body)
log.Println(body.Username)
if err != nil {
log.Println(err)
panic(err)
}
...
}
我的终端如下所示:
2013/07/31 20:26:53 { }
2013/07/31 20:26:53
2013/07/31 20:26:53 invalid character 'u' looking for beginning of value
2013/07/31 20:26:53 http: panic serving [::1]:58141: invalid character 'u' looking for beginning of value
goroutine 9 [running]:
net/http.func·007()
...
显然,我的 JSON 解析有问题,我收到一个错误,并调用了 panic(err)。
无效字符 'u' 来自我的 JSON 中的用户名部分。
我已经用 Node 服务器测试了客户端,效果很好。Go 非常新。任何帮助都会很棒。
扬帆大鱼
慕少森
相关分类