欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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:


Go实现底层接口、struct转指定格式json

相关标签: baidu go