猿问

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

我正在使用 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 中准确显示的内容。

提前致谢:)


桃花长相依
浏览 270回答 1
1回答

慕桂英4014372

不知何故,您间接回答了您的问题,但只是不知道。你提到了这个例子,它具有你正在寻找的功能。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)
随时随地看视频慕课网APP

相关分类

Go
我要回答