为了账号安全,请及时绑定邮箱和手机立即绑定

高浪发送带有状态的json响应的正确方法

高浪发送带有状态的json响应的正确方法

Go
白板的微信 2022-10-04 17:12:25
    如何在响应正文中发送带有状态代码的响应。json我的代码func getUser(w http.ResponseWriter, r *http.Request) {    w.Header().Set("Content-Type", "application/json")    var user []User    result := db.Find(&user)    json.NewEncoder(w).Encode(result)}我现在的结果:[    {        "name" : "test",        "age" : "28",        "email":"test@gmail.com"    },    {        "name" : "sss",        "age" : "60",        "email":"ss@gmail.com"    },    {        "name" : "ddd",        "age" : "30",        "email":"ddd@gmail.com"    },]但是我需要使用这样的代码发送响应status{    status : "success",    statusCode : 200,    data : [        {            "name" : "test",            "age" : "28",            "email":"test@gmail.com"        },        {            "name" : "sss",            "age" : "60",            "email":"ss@gmail.com"        },        {            "name" : "ddd",            "age" : "30",            "email":"ddd@gmail.com"        },    ]}
查看完整描述

1 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

如果需要不同的 json,请将不同的对象传递给 。Encode


type Response struct {

    Status       string `json:"status"`

    StatucCode   int    `json:"statusCode"`

    Data         []User `json:"data"`

}


func getUser(w http.ResponseWriter, r *http.Request) {

    w.Header().Set("Content-Type", "application/json")

    var user []User

    result := db.Find(&user)

    json.NewEncoder(w).Encode(&Response{"success", 200, result})

}

或使用 :map


json.NewEncoder(w).Encode(map[string]interface{}{

    "status": "success", 

    "statusCode": 200, 

    "data": result,

})


查看完整回答
反对 回复 2022-10-04
  • 1 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号