- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
这段代码的要点在 Go 中似乎很常见:
if err := json.NewDecoder(r.Body).Decode(&mr); err != nil {
return mr, err
}
但如果发生错误,我如何实际检索 r.Body
的字符串表示形式?在这种情况下,最好将其包含在错误日志中,而不是仅仅通过结构来发现 Zip 有时是一个字符串,有时是一个整数。
不幸的是,主体此时已经关闭,所以我不确定如何再次访问它。
抢先将主体解码为字符串,然后对其进行编码并尝试结构映射似乎是一个额外的步骤。有没有更好的办法?
最佳答案
如果要保存正文,则在解码之前先保存正文。
//...
body, err := ioutil.ReadAll(r.Body)
if err != nil {
return err
}
err = json.Unmarshal(body, &mr)
//...
关于json - `json.NewDecoder.Decode`失败时如何保存响应体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40983193/
我正在尝试创建一个 API 端点来将内容保存到数据库中,但是,我通过 POST 请求传递的整数似乎没有正确解析 这是我的结构: type OnlineTestForm struct { Form
我正在尝试对 HTTP 请求进行 base64 解码,然后使用 JSON 解码器对其进行解码。 我尝试了两种实现base64解码器的方法: func decode(encoded []byte) ([
这段代码的要点在 Go 中似乎很常见: if err := json.NewDecoder(r.Body).Decode(&mr); err != nil { return mr, err }
我有一个设置了上下文截止日期的 Golang 程序。我正在发送 HTTP 请求,并希望在阅读正文时看到超出截止日期的错误。 似乎当我使用 ioutil.ReadAll 读取响应主体时,读取方法将被中断
我有一个设置了上下文截止日期的 Golang 程序。我正在发送 HTTP 请求,并希望在阅读正文时看到超出截止日期的错误。 似乎当我使用 ioutil.ReadAll 读取响应主体时,读取方法将被中断
我正在尝试从 html 响应中解码 XML。 =>我将这个响应主体作为字符串保存到一个变量中,并使用 xml.Unmarshal 函数成功解码。代码: err = xml.Unmarshal(
我正在尝试找出一种在JSON解码http.Response.Body时获取错误原因的方法 if err := json.NewDecoder(resp.Body).Decode(&lResp); er
我完全是个菜鸟,我想了解我在这里缺少什么。我期望使用 dec.Decode 循环遍历 json 值并以响应映射结束。我得到的是整个 json 字符串作为 map 第一个元素的键。我错过了什么? 示例响
我正在尝试通过在 Go 中使用 gorilla mux 库构建不同的基本 REST API 来学习后端开发(遵循 tutorial) 这是我到目前为止构建的代码: package main impor
我正在使用 the answer here从 api 获取一些 json: package main import ( "encoding/json" "fmt" "log"
这是我的结构: type Media struct { MediaID string `json:"media_id"` MediaType float64 `json:"m
我正在开发一个 API 客户端,我需要根据请求对 JSON 有效负载进行编码并从响应中解码 JSON 正文。 我已经阅读了几个库的源代码,根据我所见,我基本上有两种可能对 JSON 字符串
I'm currently learning Go and have built a small API in which I search for and summarize data fro
我按照本网站上的示例编写了一些代码来解析大型 XML 文件 (>3GB):https://blog.singleton.io/posts/2012-06-19-parsing-huge-xml-fil
来自 PHP,我是这里的 Golang 新手。我读到一个与我的问题非常相似的问题,但我的实现略有偏差。每当我使用以下代码进行解码时,变量 msg.Username 始终为空。 Golang 不会在这里
我是一名优秀的程序员,十分优秀!