Node.JS SyntaxError:JSON 中第 20 位的意外标记 i
Posted
技术标签:
【中文标题】Node.JS SyntaxError:JSON 中第 20 位的意外标记 i【英文标题】:Node.JS SyntaxError: Unexpected token i in JSON at position 20 【发布时间】:2021-11-28 12:14:13 【问题描述】:我的代码发生了一些奇怪的事情 ||环境。以下代码昨天运行良好。
app.get('/', async (req, res)=>
const catalog =
kitchen: await knex('kitchen').distinct('item_group'),
bedroom: await knex('bedroom').distinct('item_group'),
living_room: await knex('living_room').distinct('item_group'),
kidsroom: await knex('kidsroom').distinct('item_group'),
bathroom: await knex('bathroom').distinct('item_group'),
accessories: await knex('accessories').distinct('item_group')
res.json(catalog)
)
第二天,GET 请求回复:
SyntaxError: Unexpected token i in JSON at position 20
at JSON.parse (<anonymous>)
at parse (C:\Users\User\Desktop\Apps\SmartWebsite\node_modules\body-parser\lib\types\json.js:89:19)
at C:\Users\User\Desktop\Apps\SmartWebsite\node_modules\body-parser\lib\read.js:121:18
at invokeCallback (C:\Users\User\Desktop\Apps\SmartWebsite\node_modules\raw-body\index.js:224:16)
at done (C:\Users\User\Desktop\Apps\SmartWebsite\node_modules\raw-body\index.js:213:7)
at IncomingMessage.onEnd (C:\Users\User\Desktop\Apps\SmartWebsite\node_modules\raw-body\index.js:273:7)
at IncomingMessage.emit (events.js:412:35)
at endReadableNT (internal/streams/readable.js:1317:12)
at processTicksAndRejections (internal/process/task_queues.js:82:21)
我安装了以下框架/依赖项:
const express = require('express')
const mysql = require('mysql2/promise')
const app = express()
const port = 3000
app.use(express.json())
到目前为止,我的计算机中运行良好的所有项目都出现了问题。
我试过了:
重新启动计算机 ;) 卸载和重新安装框架和依赖项JSON.parse(object)
JSON.stringify(object)
提前感谢您的帮助!
【问题讨论】:
您是否调试并查看catalog
有哪些未被转换的内容?似乎这是首先要做的事情。
【参考方案1】:
首先
const catalog =
kitchen: await knex('kitchen').distinct('item_group'),
accessories: await knex('accessories').distinct('item_group')
...
相反,将每个查询分配给一个新变量,然后通过简单的控制台日志记录检查它们是否都在工作。
【讨论】:
【参考方案2】:问题似乎出在 Postman 的高速缓存上。 从浏览器发送 GET 请求后,一切恢复正常。 我在 Postman 中关闭旧窗口并从新窗口发送新请求。 它又可以正常工作了。
【讨论】:
以上是关于Node.JS SyntaxError:JSON 中第 20 位的意外标记 i的主要内容,如果未能解决你的问题,请参考以下文章
Discord.js + Node.js: SyntaxError: Unexpected token ''
Typescript 和 Node.js 错误“SyntaxError:无法在模块外使用导入语句”
repl node js问题 SyntaxError: Unexpected identifier