Node.js中JSON.parse触发unexpected token u错误,求解决办法
解决Node.js中JSON.parse的"unexpected token u"错误
这个错误本质是你尝试解析了undefined——JSON.parse遇到的第一个字符是"u"(undefined的首字母)。结合你的代码,核心问题出在dataToSend的初始化上,具体解决方法如下:
初始化dataToSend为空字符串
你的Node.js代码里没有初始化dataToSend,它默认值为undefined,第一次拼接数据时会变成undefined + 字符串,最终得到"undefined{"result":1.0}",直接触发解析错误。在代码开头添加初始化:let dataToSend = '';清理JSON字符串(可选但推荐)
解析前对数据做trim处理,去除可能混入的首尾空白(比如Python输出的换行符):var result = JSON.parse(dataToSend.trim()).result;确保Python输出纯净JSON
- 不要用
print()输出内容,它会自动添加换行符,污染JSON结构; - 在
sys.stdout.write(json_str)后强制刷新缓冲区,避免数据分块延迟:sys.stdout.write(json_str) sys.stdout.flush()
- 不要用
修正后,dataToSend会被正确拼接为{"result":1.0},JSON.parse就能正常解析。
内容的提问来源于stack exchange,提问作者blueberrr
相关产品推荐
相关产品推荐

