一、基本介紹
res.json()是 Express 框架中一個(gè)常用的方法,用于向客戶端返回 JSON 格式的數(shù)據(jù)。該方法常用于我們需要從后端獲取數(shù)據(jù),然后再將這些數(shù)據(jù)呈現(xiàn)給前端用戶的場(chǎng)景中。res.json()將會(huì)自動(dòng)將傳入的對(duì)象轉(zhuǎn)換成 JSON 格式,并將該 JSON 格式數(shù)據(jù)作為響應(yīng)體返回給客戶端。
可以使用 res.json() 方法將對(duì)象、數(shù)組、字符串、布爾值等數(shù)據(jù)類型返回給客戶端。express 框架會(huì)自動(dòng)將返回值序列化為JSON格式的響應(yīng)體信息。
// 示例
app.get('/user', function(req, res) {
res.json({name: 'John', age: 30, city: 'Shanghai'})
})
二、處理JSON對(duì)象數(shù)據(jù)
在 Express 框架中,使用 res.json() 方法響應(yīng) JSON 格式的數(shù)據(jù)時(shí),常常需要通過對(duì)象來傳遞數(shù)據(jù),代碼如下:
app.get('/student', function(req, res) {
var stu = {
id: 1,
name: 'Tom',
age: 18,
gender: 'male'
}
res.json(stu)
}
以上代碼中,我們將學(xué)生對(duì)象stu傳遞給res.json()方法,res.json()方法會(huì)將該對(duì)象解析成JSON格式數(shù)據(jù),并將其以響應(yīng)體的形式返回給客戶端。
三、處理JSON數(shù)組數(shù)據(jù)
除了通過對(duì)象傳遞數(shù)據(jù)外,我們還可以通過數(shù)組將多個(gè)JSON數(shù)據(jù)一起傳遞給前端??梢允褂?res.json()方法將數(shù)組數(shù)據(jù)傳遞給客戶端。
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)
})
以上代碼中,我們將學(xué)生對(duì)象數(shù)組stus傳遞給res.json()方法,res.json()方法會(huì)將該數(shù)組解析成JSON格式的數(shù)據(jù)。
四、處理JSON字符串?dāng)?shù)據(jù)
在 Express 框架中,使用 res.json() 方法響應(yīng) JSON 格式的數(shù)據(jù)時(shí),同樣也可以將JSON格式的字符串作為響應(yīng)主體返回給客戶端,代碼如下:
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對(duì)象,最終以JSON格式數(shù)據(jù)形式的響應(yīng)體返回給客戶端。
五、響應(yīng)狀態(tài)碼設(shè)置
在 Express 框架中,使用res.json()方法響應(yīng)數(shù)據(jù)時(shí),同樣可以設(shè)置HTTP狀態(tài)碼,來告訴客戶端當(dāng)前請(qǐng)求的處理結(jié)果如何。以下代碼演示將自定義狀態(tài)碼返回給客戶端:
app.get('/code', function(req, res) {
//使用狀態(tài)碼200表示請(qǐng)求已成功處理
res.status(200).json({msg:'請(qǐng)求成功'})
})
以上代碼中,使用res.status(200)方法將響應(yīng)狀態(tài)碼設(shè)置為200,表示請(qǐng)求已成功處理,并將響應(yīng)信息res.json()作為響應(yīng)體返回給客戶端。
總結(jié)
res.json()是Express框架中響應(yīng)JSON格式數(shù)據(jù)的重要方法,使用十分靈活。本文分別從處理JSON對(duì)象數(shù)據(jù)、處理JSON數(shù)組數(shù)據(jù)、處理JSON字符串?dāng)?shù)據(jù)和響應(yīng)狀態(tài)碼設(shè)置等方面進(jìn)行了詳細(xì)說明,希望能夠使讀者對(duì)res.json()方法理解更加深刻,并能夠在實(shí)際開發(fā)中正確處理JSON格式數(shù)據(jù)。