18 处理请求和响应之响应JSON数据
在前一章中,我们讨论了如何处理 POST
请求,这使我们能够从客户端接收数据并进行处理。在这一章中,我们将深入探讨如何生成 JSON
格式的响应数据。JSON
(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。
6.3 响应JSON数据
在现代的 Web 应用中,尤其是使用 Ajax 和前端框架时,客户端与服务器之间的数据交换通常采用 JSON
格式。Express.js 提供了很方便的工具来处理这类需求。
6.3.1 使用 res.json()
方法
在 Express.js 中,我们可以使用 res.json()
方法来发送 JSON 响应。这个方法将 JavaScript 对象转换为 JSON 字符串并发送给客户端,默认设置 Content-Type
为 application/json
。
案例:简单的 JSON 响应
假设我们有一个简单的启动项目,并且我们要创建一个返回用户信息的 API
。以下是如何实现这一点:
1 | const express = require('express'); |
在这个例子中,当客户端发送 GET 请求到 /user
路由时,服务器将返回一个包含用户信息的 JSON
对象。使用 res.json(user)
方法不仅简单,而且确保将 Content-Type
设置为 application/json
。
6.3.2 响应数组数据
除了响应对象,我们也可以发送数组形式的 JSON
数据。这在返回多条记录时非常有用。
案例:返回用户列表
假设我们扩展我们的应用,返回多个用户的信息。请看以下代码:
1 | app.get('/users', (req, res) => { |
现在,当我们访问 /users
路由时,返回的数据将会是一个包含多个用户对象的数组。
6.3.3 自定义响应状态码
除了发送 JSON
数据,我们有时还需要根据不同情况返回不同的 HTTP 状态码。我们可以通过以下方式设置状态码:
1 | app.get('/user/:id', (req, res) => { |
在这个例子中,当请求的用户未找到时,我们使用 res.status(404)
设置状态码为 404 Not Found
,并且返回一个包含错误信息的 JSON
对象。
6.3.4 总结
在本节中,我们学习了如何在 Express.js 中使用 res.json()
方法返回 JSON
数据。这对构建现代的 RESTful API 至关重要。通过灵活运用该方法,我们可以轻松返回单个对象、数组,甚至自定义 HTTP 状态码。
作为一个小结,处理请求和响应的能力使我们的应用更加动态和灵活,接下来我们将在下一章中讨论如何处理错误,以确保应用的稳定性和用户体验。
预告
在下一章中,我们将探讨错误处理的基本概念,学习如何更有效地处理应用中的各种错误。这对于创建一个健壮的 Web 应用程序至关重要。
18 处理请求和响应之响应JSON数据