Go Web開發中,我們經常需要返回JSON格式的數據,可通過使用內置的encoding/json包實現JSON編碼和解碼。
使用encoding/json包的方式十分簡單,僅需將要編碼的對象作為json.Marshal()函數的參數。
type Person struct { Name string `json:"name"` Age int `json:"age"` } func main() { person := Person{Name: "John Doe", Age: 42} bytes, err := json.Marshal(person) if err != nil { log.Fatal(err) } fmt.Println(string(bytes)) }
以上代碼將輸出以下結果:
{"name":"John Doe","age":42}
如果想要返回JSON格式的HTTP響應,可以使用net/http包的ResponseWriter接口實現。
func apiHandler(w http.ResponseWriter, r *http.Request) { person := Person{Name: "John Doe", Age: 42} w.Header().Set("Content-Type", "application/json") err := json.NewEncoder(w).Encode(person) if err != nil { log.Fatal(err) } } func main() { http.HandleFunc("/api", apiHandler) http.ListenAndServe(":8080", nil) }
以上示例將在調用/api時返回以下JSON格式的響應:
{"name":"John Doe","age":42}
上一篇python 推廣微信群
下一篇vue對象屬性刪除