📜  如何使用 NodeJS 返回 JSON?(1)

📅  最后修改于: 2023-12-03 15:23:56.728000             🧑  作者: Mango

如何使用 NodeJS 返回 JSON

返回 JSON 是 Web 开发中常见的一项操作,可以方便地将数据从服务器传递到客户端。NodeJS 作为一种服务器端 JavaScript 技术,提供了一些方便的 API 来生成和返回 JSON 数据。

生成 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 字符串。

返回 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-Typeapplication/json,表示返回的是 JSON 数据。

参考文献