问题:
捕获 POST 请求的原始 JSON 正文作为字符串或接口存储在 JSONB 数据库字段中。
解决方案:
1.检索请求正文:
<code class="go">bodyBytes, _ := ioutil.ReadAll(context.Request().Body)</code>
2.恢复请求正文:
由于 http.Response.Body 是一个无法多次读取的缓冲区,因此在进一步处理之前将其恢复:
<code class="go">context.Request().Body = ioutil.NopCloser(bytes.NewBuffer(bodyBytes))</code>
3.解码 JSON:
现在,您可以使用正文字节将 JSON 解码为字符串或接口:
<code class="go">var rawJSON string if err := json.Unmarshal(bodyBytes, &rawJSON); err != nil { // Handle error }</code>
以上是如何在 Go 中从请求正文中提取 JSON 数据?的详细内容。更多信息请关注PHP中文网其他相关文章!