Go实现底层接口、struct转指定格式json
程序员文章站
2024-01-09 23:47:46
...
1.struct设计:
type Series struct {
Name string `json:"name, omitempty"`
Data []string `json:"data, omitempty"`
}
type Data struct {
Categories []string `json:"categories, omitempty"`
Series []Series `json:"series, omitempty"`
}
type Linkprofile struct {
Status int `json:"status, omitempty"`
Msg string `json:"msg, omitempty"`
Data *Data `json:"data, omitempty"`
}
2.指定需要返回的json格式:
dat = Linkprofile{
Status: 0,
Msg: "",
Data: &Data{
Categories: []string{"mmdb", "step1", "step2", "step3"},
/*Series: &Series{
Name: "图像画像",
Data: []string{a, b, c, d},
},*/
Series: serie,
},
}
3.调用api接口:
b, err := json.Marshal(dat)
if err != nil {
fmt.Println("JSON ERR:", err)
}
fmt.Println(string(b))
router.HandleFunc("/api", api).Methods("POST")
log.Fatal(http.ListenAndServe(":8083", router))
4.api接口实现
func api(w http.ResponseWriter, r *http.Request) {
json.NewEncoder(w).Encode(dat)
// fmt.Println(reflect.TypeOf(json.NewEncoder(w).Encode(linkprofile)))
}
5.运行程序后,使用postman查看对应json: