gpt4 book ai didi

rest - 无法读取 json 正文

转载 作者:行者123 更新时间:2023-12-01 22:36:34 29 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





json.Marshal(struct) returns "{}"

(3 个回答)



JSON and dealing with unexported fields

(3 个回答)


1年前关闭。




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
}

当我尝试打印以下代码段时,我确实看到了我通过 postman 传递的 json 请求正文
Dumping the json POST /v1/sdp HTTP/1.1
Host: localhost:8080
Accept: */*
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 62
Content-Type: application/json
Postman-Token: 5f0f9961-f058-446a-86e8-7f047c1dc5cc
User-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())

有什么我在某处遗漏的吗?我从字面上搜索了每个地方,这几乎被使用了。

最佳答案

问题是 SdpPost字段未导出,因此 json 解码器看不到它们,您可以这样修复:

type SdpPost struct {
Id string
Sdp string
}

关于rest - 无法读取 json 正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61806890/

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