一、基本介紹
res.json()是 Express 框架中一個常用的方法,用于向客戶端返回 JSON 格式的數據。該方法常用于我們需要從后端獲取數據,然后再將這些數據呈現給前端用戶的場景中。res.json()將會自動將傳入的對象轉換成 JSON 格式,并將該 JSON 格式數據作為響應體返回給客戶端。
可以使用 res.json() 方法將對象、數組、字符串、布爾值等數據類型返回給客戶端。express 框架會自動將返回值序列化為JSON格式的響應體信息。
// 示例
app.get('/user', function(req, res) {
res.json({name: 'John', age: 30, city: 'Shanghai'})
})
二、處理JSON對象數據
在 Express 框架中,使用 res.json() 方法響應 JSON 格式的數據時,常常需要通過對象來傳遞數據,代碼如下:
app.get('/student', function(req, res) {
var stu = {
id: 1,
name: 'Tom',
age: 18,
gender: 'male'
}
res.json(stu)
}
以上代碼中,我們將學生對象stu傳遞給res.json()方法,res.json()方法會將該對象解析成JSON格式數據,并將其以響應體的形式返回給客戶端。
三、處理JSON數組數據
除了通過對象傳遞數據外,我們還可以通過數組將多個JSON數據一起傳遞給前端。可以使用 res.json()方法將數組數據傳遞給客戶端。
app.get('/students', function(req, res) {
var stus = [
{
id:1,
name:'Tom',
age:18
},
{
id:2,
name:'John',
age:20
},
{
id:3,
name:'Lucy',
age:19
}
]
res.json(stus)
})
以上代碼中,我們將學生對象數組stus傳遞給res.json()方法,res.json()方法會將該數組解析成JSON格式的數據。
四、處理JSON字符串數據
在 Express 框架中,使用 res.json() 方法響應 JSON 格式的數據時,同樣也可以將JSON格式的字符串作為響應主體返回給客戶端,代碼如下:
app.get('/str', function(req, res) {
var str = '{"name":"Tom", "age":22, "sex":"male"}'
res.json(JSON.parse(str))
})
以上代碼中,我們將JSON字符串str傳遞給res.json()方法,為了確保obj是JSON格式的文本,我們使用JSON.parse()方法將JSON字符串str解析為JSON對象,最終以JSON格式數據形式的響應體返回給客戶端。
五、響應狀態碼設置
在 Express 框架中,使用res.json()方法響應數據時,同樣可以設置HTTP狀態碼,來告訴客戶端當前請求的處理結果如何。以下代碼演示將自定義狀態碼返回給客戶端:
app.get('/code', function(req, res) {
//使用狀態碼200表示請求已成功處理
res.status(200).json({msg:'請求成功'})
})
以上代碼中,使用res.status(200)方法將響應狀態碼設置為200,表示請求已成功處理,并將響應信息res.json()作為響應體返回給客戶端。
總結
res.json()是Express框架中響應JSON格式數據的重要方法,使用十分靈活。本文分別從處理JSON對象數據、處理JSON數組數據、處理JSON字符串數據和響應狀態碼設置等方面進行了詳細說明,希望能夠使讀者對res.json()方法理解更加深刻,并能夠在實際開發中正確處理JSON格式數據。