package models import ( "encoding/json" "log" "net/http" ) type ListView struct { Page int `json:"page"` PageSize int `json:"page_size"` Total int64 `json:"total"` Next bool `json:"next"` List interface{} `json:"list"` Type string `json:"-"` } // 轉換爲JSON並返回 func (listview *ListView) ToJSON() []byte { if listview.List == nil { listview.List = make([]interface{}, 0) } b, err := json.MarshalIndent(listview, "", " ") if err != nil { log.Println(err) return nil } return b } // 直接輸出JSON給瀏覽器 func (listview *ListView) WriteJSON(w http.ResponseWriter) { w.Header().Set("Content-Type", "application/json; charset=utf-8") w.Write(listview.ToJSON()) }