为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 go lang 的 Http 响应中打印结构体

如何在 go lang 的 Http 响应中打印结构体

Go
桃花长相依 2021-11-15 20:40:02
我正在使用 POSTMAN 在 go lang 中处理 POST 请求。我希望以结构格式(json 数据结构)显示响应。为了显示普通字符串,我正在使用rw.Write([]byte(fmt.Sprintf("Hello, %s!", t.Name)))我应该怎么做才能在响应正文中显示Struct?(使用 rw.write 方法)fmt.Printf("%+v\n", m) 输出到 {ID:1 Name:John Smith Address:123 Main St City:San Francisco State:CA Zip:94113 Coordinate:{Latitude:37.7917618 Longitude:-122.3943405}}这就是我想要在 Postman response 中准确显示的内容。提前致谢:)
查看完整描述

1 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

不知何故,您间接回答了您的问题,但只是不知道。

你提到了这个例子,它具有你正在寻找的功能。fmt.Sprintf返回一个格式化的字符串,而不是您已经使用的打印到标准输出的字符串fmt.Printf

rw.Write([]byte(fmt.Sprintf("Hello, %s!", t.Name)))

因此fmt.Printf("%+v\n", m),您可以使用以下类似的内容代替fmt.Sprintf

structString := fmt.Sprintf("%+v\n", m)
rw.Write([]byte(structString))

@JimB 建议的另一个解决方案是fmt.Fprintf直接使用aio.Writer作为其第一个参数,然后使用格式字符串。

fmt.Fprintf(rw, "%+v\n", *m)


查看完整回答
反对 回复 2021-11-15
  • 1 回答
  • 0 关注
  • 269 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信