在使用 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 數據時,需要查看文檔或源碼是否支持設置編碼格式選項。