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

Golang - 从 JSON 响应中隐藏空结构

Golang - 从 JSON 响应中隐藏空结构

Go
潇潇雨雨 2021-08-16 15:34:07
如果它们中的任何一个为空,我试图使Errorand Successstruct 消失package mainimport (    "encoding/json"    "net/http")type appReturn struct {    Suc *Success `json:"success,omitempty"`    Err *Error   `json:"error,omitempty"`}type Error struct {    Code    int    `json:"code,omitempty"`    Message string `json:"message,omitempty"`}type Success struct {    Code    int    `json:"code,omitempty"`    Message string `json:"message,omitempty"`}func init() {    http.HandleFunc("/", handler)}func handler(w http.ResponseWriter, r *http.Request) {    j := appReturn{&Success{}, &Error{}}    js, _ := json.Marshal(&j)    w.Header().Set("Content-Type", "application/json")    w.Write(js)}输出:{    success: { },    error: { }}如何从 JSON 输出中隐藏ErrororSuccess结构?我认为将指针作为参数发送可以解决问题。
查看完整描述

2 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

这是因为appReturn.SucappReturn.Err不是空的;它们包含指向初始化结构的指针,而这些指针恰好在里面有 nil 指针。唯一的空指针是一个 nil 指针。

将 appReturn 初始化为 j := appReturn{}


查看完整回答
反对 回复 2021-08-16
  • 2 回答
  • 0 关注
  • 287 浏览
慕课专栏
更多

添加回答

举报

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