3 回答
TA贡献1998条经验 获得超6个赞
您可以设置内容类型标头,以便客户知道期望 json
w.Header().Set("Content-Type", "application/json")
将结构编组为 json 的另一种方法是使用 http.ResponseWriter
// get a payload p := Payload{d}
json.NewEncoder(w).Encode(p)
TA贡献1818条经验 获得超3个赞
其他用户在编码时评论说Content-Type是plain/text。
您必须先使用 设置内容类型w.Header().Set(),然后使用w.WriteHeader().
如果你w.WriteHeader()先打电话,然后再打电话w.Header().Set(),你会得到plain/text。
示例处理程序可能如下所示:
func SomeHandler(w http.ResponseWriter, r *http.Request) {
data := SomeStruct{}
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusCreated)
json.NewEncoder(w).Encode(data)
}
TA贡献1900条经验 获得超5个赞
你可以在你的getJsonResponse函数中做这样的事情-
jData, err := json.Marshal(Data)
if err != nil {
// handle error
}
w.Header().Set("Content-Type", "application/json")
w.Write(jData)
- 3 回答
- 0 关注
- 194 浏览
添加回答
举报