node.js - “抛出错误”错误消息不断出现
问题描述
每次我让我的不和谐机器人在线时,自从我添加了一个小型 json 数据库后,它就会离线并在我的控制台中显示此错误,而不会被发生的命令触发。
internal/modules/cjs/loader.js:800
throw err;
^
SyntaxError: C:\Users\User\Desktop\Prince-Yami\entrydata.json: Unexpected token } in JSON at position 833
at JSON.parse (<anonymous>)
at Object.Module._extensions..json (internal/modules/cjs/loader.js:797:27)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.checkInData (C:\Users\User\Desktop\Prince-Yami\indexDATA.js:8:23)
at Client.bot.on.msg (C:\Users\User\Desktop\Prince-Yami\index.js:47:17)
at Client.emit (events.js:198:13)
你看,我对此有点陌生,所以我不完全理解这里发生了什么错误。我试图查看文件以了解我的代码中的错误,但我无法准确判断出什么问题。
这是我的 indexDATA.js 文件代码:
module.exports = {
checkInData: function(msg) {
const Discord = require('discord.js');
const bot = new Discord.Client();
const PREFIX = 'sick.';
const fs = require("fs")
bot.entries = require('./entrydata.json')
let args = msg.content.substring(PREFIX.length).split(" ");
switch(args[0]){
case 'entry':
editedmsg = msg.content.slice(17);
bot.entries [args[1]] = {
message: editedmsg
}
const configD = JSON.stringify (bot.entries, null, 4)
fs.writeFile ("./entrydata.json", configD, err => {
if (err) throw err;
msg.channel.send('Entry noted');
});
break;
case 'entryget':
let _message = bot.entries[args[1]].message;
msg.channel.send(_message);
break;
}
}
};
这是我的 entrydata.json 文件:
{
"00000": {
"message": "**Scene 1**"
},
}
解决方案
只需删除 entrydata.json 中的逗号:
{
"00000": {
"message": "**Scene 1**"
}
}
推荐阅读
- ios - 改变 UIButton 的 imageView 的大小
- android - 自动调整 TextView 的大小不适用于椭圆化和居中的文本
- javascript - 不同的动作创建者发送相同的动作或不良做法是否有效?
- electron - 应用程序使用电子生成器后无法创建文件夹
- php - 如何使用 file_put_contents() 将 PHP 代码插入新的 php 文件?
- r - 如何在 R Shiny 中创建顺序更新的选择输入?即从第一个选择中选择 A 会从任何进一步的选择中删除选项 A
- jolt - 如果 value 不存在则设置 null,否则如果存在于 jolt 中则返回现有值
- javascript - 对象名称与变量相同
- google-cloud-platform - 如何从位于不同目录中的模块或 terraform 文件中获取资源名称的数据?
- android - 尝试从数据库中获取对象时,领域对象中的某些字段为空