Javascript “服务器端”;JSON输入意外结束“;错误
对于这个机器人,我有一个包含所有用户信息的JSON文件;它的形成是正确的;这不是问题所在 我也有一个服务器上运行的机器人,所以它可以运行24/7;但当我在笔记本电脑上工作时,我会把它关掉。我使用GitHub repo保持代码同步,并且我经常推/拉我的更改。这也不是问题所在 问题是,当我从笔记本电脑上运行它时,一切都很好。bot正常工作,没有任何问题;但是,当我从服务器上运行它,从bot的repo中提取代码,使所有内容都与我的笔记本电脑上的内容完全相同时,每当我尝试使用特定命令时,我总是会收到一个“意外的JSON输入结束”错误 读取错误时,它显示错误不是命令本身,而是它使用module.exports调用的另一个文件中的函数,特别是在该文件读取包含用户信息的JSON文件时 我使用以下代码行解析JSON(在笔记本电脑和服务器上):Javascript “服务器端”;JSON输入意外结束“;错误,javascript,node.js,json,discord.js,Javascript,Node.js,Json,Discord.js,对于这个机器人,我有一个包含所有用户信息的JSON文件;它的形成是正确的;这不是问题所在 我也有一个服务器上运行的机器人,所以它可以运行24/7;但当我在笔记本电脑上工作时,我会把它关掉。我使用GitHub repo保持代码同步,并且我经常推/拉我的更改。这也不是问题所在 问题是,当我从笔记本电脑上运行它时,一切都很好。bot正常工作,没有任何问题;但是,当我从服务器上运行它,从bot的repo中提取代码,使所有内容都与我的笔记本电脑上的内容完全相同时,每当我尝试使用特定命令时,我总是会收到一个
let CycleSettings=JSON.parse(fs.readFileSync(“./昵称.JSON”,“utf8”);
错误如下(服务器端):
读取错误时,它显示错误不是命令本身,而是它使用module.exports调用的另一个文件中的函数,特别是在该文件读取包含用户信息的JSON文件时
显然,解决方案是在使用类似于require('fs')的内容读取JSON
文件后记录该文件的内容。在尝试将其解析为JSON
之前,读取文件同步。根据您提供的信息,这是下一步
读取错误时,它显示错误不是命令本身,而是它使用module.exports调用的另一个文件中的函数,特别是在该文件读取包含用户信息的JSON文件时
显然,解决方案是在使用类似于require('fs')的内容读取JSON
文件后记录该文件的内容。在尝试将其解析为JSON
之前,读取文件同步。根据您提供的信息,这是下一步要采取的步骤。您能提供一段错误代码/错误日志吗?另外,您使用的是哪台服务器,它们使用的是相同的节点版本吗?基本上,如果相同的代码在某个地方正常运行,而在其他地方不工作,那么代码所需的环境或其他因素显然不符合要求。在您的情况下,看起来您的源JSON在服务器中无效,但在笔记本电脑上是正确的。使用此在线验证器检查服务器端的JSON是否有效。添加了错误消息@theusaf和发生错误的代码行。@pubudustinamaluwa我刚刚使用了你给我的那个站点,它说我的json是有效的。你能分享你正在解析的json吗?你能提供一段错误代码/错误日志吗?另外,您使用的是哪台服务器,它们使用的是相同的节点版本吗?基本上,如果相同的代码在某个地方正常运行,而在其他地方不工作,那么代码所需的环境或其他因素显然不符合要求。在您的情况下,看起来您的源JSON在服务器中无效,但在笔记本电脑上是正确的。使用此在线验证器检查服务器端的JSON是否有效。添加了错误消息@theusaf和发生错误的代码行。@pubudustinamaluwa我刚刚使用了你给我的那个站点,它说我的json是有效的。你能分享你正在解析的json吗?
SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at Object.StartCycle (/home/hostingmain/Desktop/Discord Bots/Nick-Cycle/cycling.js:6:34)
at Object.execute (/home/hostingmain/Desktop/Discord Bots/Nick-Cycle/commandsFolder/cycle.js:84:21)
at Client.<anonymous> (/home/hostingmain/Desktop/Discord Bots/Nick-Cycle/index.js:105:17)
at Client.emit (events.js:314:20)
at MessageCreateAction.handle (/home/hostingmain/Desktop/Discord Bots/Nick-Cycle/node_modules/discord.js/src/client/actions/MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (/home/hostingmain/Desktop/Discord Bots/Nick-Cycle/node_modules/discord.js/src/client/websocket/handlers/MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (/home/hostingmain/Desktop/Discord Bots/Nick-Cycle/node_modules/discord.js/src/client/websocket/WebSocketManager.js:386:31)
at WebSocketShard.onPacket (/home/hostingmain/Desktop/Discord Bots/Nick-Cycle/node_modules/discord.js/src/client/websocket/WebSocketShard.js:436:22)
at WebSocketShard.onMessage (/home/hostingmain/Desktop/Discord Bots/Nick-Cycle/node_modules/discord.js/src/client/websocket/WebSocketShard.js:293:10)
{
"Discord Server ID" {
"Name": "Name of the Discord server (for my reference)",
"users": {
"Discord User ID": {
"nicknames": ["1", "2", "3"],
"interval": 300,
"started": false
}
}
}
}