如何在 go lang 的 Http Response 中打印一个 Struct
How to print a Struct in the Http Response in go lang
我正在使用 POSTMAN 在 go lang 中处理 POST 请求。我希望以结构格式(json 数据的结构)显示响应。
为了显示普通字符串,我使用 rw.Write([]byte(fmt.Sprintf("Hello, %s!", t.Name)))
如何在响应体中显示结构?(使用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 响应中准确显示的内容。
提前致谢:)
您以某种方式间接回答了您的问题,但您自己并不知道。
您提到了这个示例,它具有您要查找的功能。 fmt.Sprintf
returns 一个格式化的字符串而不是你已经使用的打印到标准输出的字符串,fmt.Printf
。
rw.Write([]byte(fmt.Sprintf("Hello, %s!", t.Name)))
因此,您可以使用类似下面的 fmt.Sprintf
:
而不是 fmt.Printf("%+v\n", m)
structString := fmt.Sprintf("%+v\n", m)
rw.Write([]byte(structString))
@JimB 建议的另一种解决方案是直接使用 fmt.Fprintf
,将 io.Writer
作为其第一个参数,然后是格式字符串。
fmt.Fprintf(rw, "%+v\n", *m)
我正在使用 POSTMAN 在 go lang 中处理 POST 请求。我希望以结构格式(json 数据的结构)显示响应。
为了显示普通字符串,我使用 rw.Write([]byte(fmt.Sprintf("Hello, %s!", t.Name)))
如何在响应体中显示结构?(使用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 响应中准确显示的内容。
提前致谢:)
您以某种方式间接回答了您的问题,但您自己并不知道。
您提到了这个示例,它具有您要查找的功能。 fmt.Sprintf
returns 一个格式化的字符串而不是你已经使用的打印到标准输出的字符串,fmt.Printf
。
rw.Write([]byte(fmt.Sprintf("Hello, %s!", t.Name)))
因此,您可以使用类似下面的 fmt.Sprintf
:
fmt.Printf("%+v\n", m)
structString := fmt.Sprintf("%+v\n", m)
rw.Write([]byte(structString))
@JimB 建议的另一种解决方案是直接使用 fmt.Fprintf
,将 io.Writer
作为其第一个参数,然后是格式字符串。
fmt.Fprintf(rw, "%+v\n", *m)