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

    如何在响应正文中发送带有状态代码的响应。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"

        },

    ]

}


白板的微信
浏览 106回答 1
1回答

幕布斯7119047

如果需要不同的 json,请将不同的对象传递给 。Encodetype 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})}或使用 :mapjson.NewEncoder(w).Encode(map[string]interface{}{    "status": "success",     "statusCode": 200,     "data": result,})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go