Go·将对象转成json格式返回

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名称
}
892 Views
分享你的喜爱
linwute
linwute

我要像梦一样自由,像大地一样宽容;
在艰辛放逐的路上,点亮生命的光芒;
我要像梦一样自由,像天空一样坚强;
在曲折蜿蜒的路上,体验生命的意义;

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注