You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gin框架IndentedJSON函数未按预期工作问题求助

问题分析与解决

你代码里的核心问题是:成功返回响应时调用的是c.JSON(),而非c.IndentedJSON()——只有错误分支用了带缩进的JSON输出方法,正常返回的分支还是用的普通JSON序列化,所以浏览器里看到的正常响应没有格式化效果。

另外需要注意,错误分支处理完后要添加return语句,避免错误返回后代码继续执行到成功分支的响应逻辑,导致重复写入HTTP响应头,引发不必要的问题。

修正后的代码如下:

func main() {
    r := gin.Default()
    r.GET("/ping", func(c *gin.Context) {
        res, err := getOHLC("BTCUSDT", "1h")
        if err != nil {
            c.IndentedJSON(http.StatusInternalServerError, err)
            return // 终止后续代码执行,避免重复响应
        }
        c.IndentedJSON(http.StatusOK, res) // 替换为带缩进的JSON输出方法
    })
    r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}

内容的提问来源于stack exchange,提问作者BitQueen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:52:03