Next.js中getStaticProps加console.log遇Unicode转义错误求助
解决Next.js中getStaticProps内console.log触发Unicode转义错误的问题
错误原因
这个SyntaxError: Invalid Unicode escape sequence错误和reactStrictMode无关,本质是users数据中包含格式无效的Unicode转义字符(比如不完整的\uXXXX序列、非法的转义符号),Node.js在解析打印内容时无法识别这些字符,从而抛出错误。
查看users值的可行方法
- 用JSON.stringify安全输出:
直接打印对象可能触发转义错误,改用JSON.stringify将对象转为格式化的字符串,能规避转义问题,同时清晰展示数据结构:console.log("users", JSON.stringify(users, null, 2)) - 逐步排查数据:
如果JSON.stringify也报错,说明数据本身存在格式问题,先缩小排查范围:- 打印数据类型:
console.log("users type", typeof users) - 打印数据长度(如果是数组):
console.log("users count", users?.length) - 逐个打印字段:
console.log("first user name", users[0]?.name),定位到包含无效转义的具体字段。
- 打印数据类型:
修复数据根源
找到问题字段后,根据数据来源处理:
- 若来自本地JSON文件:打开文件修正无效的转义字符(比如把错误的
\uabc改成合法的\u0abc,或删除多余的反斜杠)。 - 若来自API接口:检查接口返回的JSON格式是否符合标准,要求后端修正返回数据的转义问题。
内容的提问来源于stack exchange,提问作者Uday Gandra
相关产品推荐
相关产品推荐

