【问题标题】:How to access property of a property of a JSON object if the initial property is a variable?如果初始属性是变量,如何访问 JSON 对象的属性的属性?
【发布时间】:2021-05-22 10:15:36
【问题描述】:

我正在制作一个不和谐的机器人,并成功制作了一个系统,它将用户的变量以这种格式存储在 JSON 文件中:

{
  "801479782613123123": {
    "status": true
  },
  "725581416720629863": {
    "status": true
  }
}

我当前的问题是,当我将变量作为初始属性传入时,我无法检查此“状态”属性是真还是假。这是我的代码:

let statusPath = './commands/afkstatus.json';
    let statusRead = fs.readFileSync(statusPath);
    let statusFile = JSON.parse(statusRead); //Ready for use
    let userID = message.author.id
    if (message.mentions.users.first()) {
        let ping = message.mentions.users.first();
        let status = statusFile[userID.status];
        if (statusFile[userID.status]) {
            message.channel.send(`Message`);
        }
    }

当我运行代码时,没有错误消息,消息根本没有被发送。

【问题讨论】:

  • message.author.id 是字符串还是数字类型?如果它是数字类型,它不会起作用,因为801479782613123123 大于MAX_SAFE_INTEGER。当您使用该数字作为键时,它会将其转换为字符串,String(801479782613123123)"801479782613123100"

标签: javascript json discord discord.js


【解决方案1】:

改用let status = statusFile[userID].status

【讨论】:

    猜你喜欢
    • 2012-07-02
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多