gpt4 book ai didi

json - Golang 无效字符 'b' 正在寻找值的开头

转载 作者:IT王子 更新时间:2023-10-29 01:23:36 26 4
gpt4 key购买 nike

我正在尝试发布其中包含 xml 消息的 json。然而它返回:

invalid character 'b' looking for beginning of value

我认为可能的原因是我正在尝试编码不是 json 格式的返回正文。

func (s *BackendConfiguration) Do(req *http.Request, v interface{}) error {
log.Printf("Requesting %v %v%v\n", req.Method, req.URL.Host, req.URL.Path)
start := time.Now()

res, err := s.HTTPClient.Do(req)

if debug {
log.Printf("Completed in %v\n", time.Since(start))
}

if err != nil {
log.Printf("Request to sakura failed: %v\n", err)
return err
}
defer res.Body.Close()

resBody, err := ioutil.ReadAll(res.Body)
if err != nil {
log.Printf("Cannot parse sakura response: %v\n", err)
return err
}

if debug {
log.Printf("sakura response: %q\n", resBody)
}

if v != nil {
return json.Unmarshal(resBody, v)
}

return nil
}

错误发生在这一行:

return json.Unmarshal(resBody, v)

最佳答案

该错误表示服务器没有返回有效的 JSON 响应。我建议添加以下代码来调试问题:

err := json.Unmarshal(resBody, v)
if err != nil {
log.Printf("error decoding sakura response: %v", err)
if e, ok := err.(*json.SyntaxError); ok {
log.Printf("syntax error at byte offset %d", e.Offset)
}
log.Printf("sakura response: %q", resBody)
return err
}

关于json - Golang 无效字符 'b' 正在寻找值的开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38943089/

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