如果它们中的任何一个为空,我试图使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.Suc和appReturn.Err不是空的;它们包含指向初始化结构的指针,而这些指针恰好在里面有 nil 指针。唯一的空指针是一个 nil 指针。
将 appReturn 初始化为 j := appReturn{}
- 2 回答
 - 0 关注
 - 342 浏览
 
添加回答
举报
0/150
	提交
		取消
	