SyntaxError:JSON中的意外标记}大括号

时间:2018-02-19 09:11:31

标签: json node.js discord

好的,出于某种原因,我测试了一些东西只是为了看它是否会起作用并且它给了我一个错误。我无法弄清楚出了什么问题,它对我来说很好,我已经比较和搜索了一个小时而没有。我可以在这里做一些非常愚蠢的事情。 这是bot.js

const botSettings = require("./botsettings.json");

console.log(botSettings.token);
console.log(botSettings.prefix);

这是package.json

{
  "name": "ultibot",
  "version": "0.0.1",
  "description": "a bot for the discord server The Ritual",
  "main": "bot.js",
  "author": "Rituliant",
  "license": "ISC",
  "dependencies": {
    "discord.js": "^11.3.0"
  }
}

这是botsettings.json

{  
  "token": "thisisnormallyalongstringofrandomletters",
  "prefix": "!",
}

完整的错误就是这个

module.js:665
    throw err;
    ^

SyntaxError: C:\Users\quinb\DiscordBotJS\botsettings.json: Unexpected token } in JSON at position 98
    at JSON.parse (<anonymous>)
    at Object.Module._extensions..json (module.js:662:27)
    at Module.load (module.js:556:32)
    at tryModuleLoad (module.js:499:12)
    at Function.Module._load (module.js:491:3)
    at Module.require (module.js:587:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\Users\quinb\DiscordBotJS\bot.js:1:83)
    at Module._compile (module.js:643:30)
    at Object.Module._extensions..js (module.js:654:10)

2 个答案:

答案 0 :(得分:1)

botsettings.json应该是

{  
  "token": "thisisnormallyalongstringofrandomletters",
  "prefix": "!"
}

即。前缀值后没有逗号。

答案 1 :(得分:0)

与现代JavaScript不同,

JSON不允许在其对象表示法中使用尾随逗号。因此}中的最终botsettings.json确实出乎意料,因为它之前有逗号:

{  
  "token": "thisisnormallyalongstringofrandomletters",
  "prefix": "!",
               ^----- Here
}

如果删除逗号,那只是有效的JSON:

{  
  "token": "thisisnormallyalongstringofrandomletters",
  "prefix": "!"
}