Go·将对象转成json格式返回
要点:
var z Data
msg, err := json.Marshal(z) //转换成json
package main
import (
"encoding/json"
"fmt"
"log"
"net/http"
)
func main() {
fmt.Println("Linwute 2022-07-29")
http.HandleFunc("/get", get) // 列表查询
http.ListenAndServe("127.0.0.1:8000", nil) //监听端口
}
// 接收Post请求 列表查询
func get(writer http.ResponseWriter, request *http.Request) {
//application/x-www-form-urlencoded 模式请求
request.ParseForm()
var x objInfo
var y objComment
x.Comment = "掌声" //错误赋值方式
y.Id = "22" //错误赋值方式
y.Uid = "33" //错误赋值方式
var z Data
z.Info.Comment = "掌声22" //正确赋值方式
z.Bbs.Id = "123" //正确赋值方式
z.Bbs.Uid = "456" //正确赋值方式
msg, err := json.Marshal(z) //转换成json
if err != nil {
log.Println(err)
}
fmt.Print(z)
writer.Write(msg) //返回值 必须先定义异常 _:=
}
type objInfo struct { //文章信息 表 //结构体
Comment string `json:"comment"` //json key名称
}
type Data struct { //存储结构体
Info objInfo `json:"info"` //json key名称
Bbs objComment `json:"bbs"` //json key名称
}
type objComment struct { //评论内容 表 //结构体
//字段
Id string `json:"id"` //json key名称
Uid string `json:"uid"` //json key名称
}