登录
首页 >  Golang >  Go问答

从 GoLang 的响应中检索到漂亮的 JSON

来源:stackoverflow

时间:2024-04-20 13:40:19 484浏览 收藏

大家好,我们又见面了啊~本文《从 GoLang 的响应中检索到漂亮的 JSON》的内容中将会涉及到等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Golang相关文章,希望我们能一起进步!下面就开始本文的正式内容~

问题内容

我从端点检索 json 作为 get 响应

response, _ := http.Get("https://website-returning-json-value.com")
data, _ := ioutil.ReadAll(response.Body)
w.Write(data)

它返回一个 json 值,这没问题,但是非常难看(没有缩进等)。我想让它变得漂亮。我读过有像 marshalindent 这样的 util 函数可以完成这项工作,但这适用于 json 对象(?)并且 readall 函数返回 []byte,所以它不起作用。我阅读了有关编码/json 包的文档,但有很多信息,我有点卡住/困惑。

据我了解应该这样做,我应该通过 readall 函数获取 []byte -> 将其转换为 json -> 对其进行美化 -> 再次转换为 []byte。


解决方案


为此目的有 json.Indent()。使用示例:

src := []byte(`{"foo":"bar","x":1}`)

dst := &bytes.buffer{}
if err := json.indent(dst, src, "", "  "); err != nil {
    panic(err)
}

fmt.println(dst.string())

输出(在 Go Playground 上尝试):

{
  "foo": "bar",
  "x": 1
}

但是缩进只是为了人眼​​,它携带相同的信息,并且库不需要缩进的 json。

另请参阅:Is there a jq wrapper for golang that can produce human readable JSON output?

终于介绍完啦!小伙伴们,这篇关于《从 GoLang 的响应中检索到漂亮的 JSON》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>