Node.JS SyntaxError: JSON中位置20的意外令牌i



我的代码环境有点奇怪。下面的代码昨天运行正常。

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:UsersUserDesktopAppsSmartWebsitenode_modulesbody-parserlibtypesjson.js:89:19)
at C:UsersUserDesktopAppsSmartWebsitenode_modulesbody-parserlibread.js:121:18
at invokeCallback (C:UsersUserDesktopAppsSmartWebsitenode_modulesraw-bodyindex.js:224:16)
at done (C:UsersUserDesktopAppsSmartWebsitenode_modulesraw-bodyindex.js:213:7)
at IncomingMessage.onEnd (C:UsersUserDesktopAppsSmartWebsitenode_modulesraw-bodyindex.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)

提前感谢您的帮助!

首先

const catalog = {
kitchen: await knex('kitchen').distinct('item_group'),
accessories: await knex('accessories').distinct('item_group')
...
}

相反,将每个查询分配给一个新变量,然后通过简单的控制台日志检查它们是否都在工作。

问题似乎与Postman的缓存内存有关。从浏览器发送GET请求后,一切都恢复正常。我关闭邮差中的旧窗口,并从新窗口发送新的请求。它工作正常了。

相关内容

  • 没有找到相关文章