json - 返回一个简单的 JSON 响应
问题描述
我目前正在将 Express API 转移到 Golang 实现中。
在 Express 中,如果我想返回一个简单的临时 json 响应,我可以这样做
app.get('/status', (req, res) => res.json({status: 'OK'}))
但是,我很难在 Go 中理解这一点。
我需要为这个简单的响应创建一个结构吗?
我正在尝试这样的事情
func getStatus(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode({status: "OK"})
}
但这显然行不通。
解决方案
对于这么简单的事情,您可以发送一个字符串:
w.Write([]byte(`{"status":"OK"}`))
但是要回答您更广泛的问题,您需要用 Go 表示法定义您的对象。这可以很简单:
json.NewEncoder(w).Encode(map[string]string{"status": "OK"})
推荐阅读
- mongodb - Mongo 转储特定日期的集合
- ubuntu - kubuntu 中的全局菜单不适用于 Firefox
- python - Python - 将文件内容与模板匹配
- mongodb - 如何将时间从亚洲/加尔各答时区转换为亚洲/东京时区,然后将亚洲/东京特定日期插入 MongoDB
- r - 使用函数从数据框创建函数
- javascript - 如何在不使用 jquery 或 js 的情况下应用条件 css
- reactjs - 设置 React Redux 调度的正确类型
- python - 如何为 jupyter notebook 中的命令赋予别名?
- c# - 使用 PostAsync 和数据库测试 API
- javascript - 如何将数组中的多个项目输入到特定索引处的另一个数组?