我正在使用POSTMAN来处理go lang中的POST请求。我希望以struct格式显示响应(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响应中准确显示的内容。
提前致谢:)
答案 0 :(得分:0)
不知何故,你间接地回答了你的问题,但对此并不了解。
您提到了这个例子,它具有您正在寻找的功能。 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
作为其第一个参数和一个格式字符串。
io.Writer