golang 很新,我正在尝试阅读 golang 中的 post json 请求正文,但它只是转换为空字符串。下面是我试图通过请求 json 正文转换为的结构type SdpPost struct { id string sdp string}func (s *SdpPost) Id() string { return s.id}func (s *SdpPost) SetSdp(sdp string) { s.sdp = sdp}func (s *SdpPost) Sdp() string { return s.sdp}当我尝试打印以下代码段时,我确实看到了我通过邮递员传递的 json 请求正文Dumping the json POST /v1/sdp HTTP/1.1Host: localhost:8080Accept: */*Accept-Encoding: gzip, deflate, brConnection: keep-aliveContent-Length: 62Content-Type: application/jsonPostman-Token: 5f0f9961-f058-446a-86e8-7f047c1dc5ccUser-Agent: PostmanRuntime/7.24.1{ "sdp":"This is the test sdp", "id":"This is the test id"}但是下面的代码什么也没打印,它只是 Id 和 sdp 的空字符串 r.Header.Set("Content-Type", "application/json") decoder := json.NewDecoder(r.Body) sdp := handler.SdpPost{} decoder.Decode(&sdp) w.WriteHeader(http.StatusOK) fmt.Print(sdp.Id()) fmt.Println(sdp.Sdp())有什么我在某处遗漏的吗?我从字面上搜索了每个地方,这几乎被使用了。
1 回答
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
问题是SdpPost字段未导出,因此 json 解码器看不到它们,您可以这样修复:
type SdpPost struct {
Id string
Sdp string
}
- 1 回答
- 0 关注
- 120 浏览
添加回答
举报
0/150
提交
取消