在使用 Express 框架开发应用时,经常会处理 JSON 数据。而有时候会发现返回的 JSON 数据出现了中文乱码,怎么办呢?下面介绍一些解决方法。
// 设置响应头
res.setHeader('Content-Type', 'application/json;charset=utf-8');
// 或者使用中间件
app.use((req, res, next) => {
res.setHeader('Content-Type', 'application/json;charset=utf-8');
next();
});
这两种方法都是设置响应头的方式,告诉浏览器返回的数据是 JSON 格式,并且使用 UTF-8 编码。这样就可以避免出现中文乱码。
但有时候,在使用第三方库返回 JSON 数据时,会出现中文乱码问题。这时可以使用stringify
方法将 JSON 对象转化为字符串,并指定编码格式。
const json = {
name: '张三',
age: 24,
gender: '男'
};
const str = JSON.stringify(json, null, 2);
res.send(str);
以上就是解决 Express 返回 JSON 中文乱码的一些方法。需要注意的是,在使用第三方库返回 JSON 数据时,需要查看文档或源码是否支持设置编码格式选项。