📅  最后修改于: 2023-12-03 15:23:56.728000             🧑  作者: Mango
返回 JSON 是 Web 开发中常见的一项操作,可以方便地将数据从服务器传递到客户端。NodeJS 作为一种服务器端 JavaScript 技术,提供了一些方便的 API 来生成和返回 JSON 数据。
在 NodeJS 中,可以使用 JSON.stringify()
方法将 JavaScript 对象转换成 JSON 字符串。例如:
const data = {
name: 'Bob',
age: 28,
hobbies: ['reading', 'hiking']
};
const jsonData = JSON.stringify(data);
console.log(jsonData);
// 输出: {"name":"Bob","age":28,"hobbies":["reading","hiking"]}
可以看到,JSON.stringify()
方法将对象的属性与属性值按一定格式转换成了 JSON 字符串。
在 NodeJS 中,可以使用 res.json()
方法将 JSON 数据返回给客户端。res
是 NodeJS 中 HTTP 请求(request)的响应(response)对象,可以在 HTTP 服务器处理请求时获取到。
const http = require('http');
const server = http.createServer((req, res) => {
const data = {
name: 'Bob',
age: 28,
hobbies: ['reading', 'hiking']
};
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(JSON.stringify(data));
});
server.listen(3000, () => {
console.log('Server is listening on port 3000');
});
上面的代码创建了一个 HTTP 服务器,当客户端发起请求时,会返回 JSON 字符串 { "name": "Bob", "age": 28, "hobbies": ["reading", "hiking"] }
。
需要注意的是,在 res.writeHead()
方法中需要设置响应头的 Content-Type
为 application/json
,表示返回的是 JSON 数据。