我正在使用高级会员命令在Discord机器人上工作。

Buyer.json:



buyers.json:

{
  "buyers": [
    {
      "id": "331499609509724162"
    },
    {
      "id": "181336616164392960"
    },
    {
      "id": "266389854122672128"
    }
  ]
}





代码段:



case "spotify":
            var uID = message.author.id;
            for (let i = 0; i < ftpr.buyers.length; i++) {
                if (uID === ftpr.buyers[i]) {
                    var _embed = new Discord.RichEmbed()
                        .setTitle("Spotify")
                        .addField("Username", "testsda@yahoo.com")
                        .addField("Password", "ithastobe8")
                        .setColor(0x00FFFF)
                        .setFooter("Sincerely, LajgaardMoneyService")
                        .setThumbnail(message.author.avatarURL);
                    message.author.send(_embed);
                    console.log(message.author + " Just used the command !spotify")
                }

            }

            break;





除了for循环和if语句外,其他所有东西都起作用。就像没有获取ID一样。

var fptr = require("./buyers.json");


编辑:
我的json文件如下所示:

{
  "buyers": [
    {
      "id": "331499609509724162"
    },
    {
      "id": "181336616164392960"
    },
    {
      "id": "266389854122672128"
    }
  ]
}


它有一些人的身份证。
在我的app.js中,var file = require("./file.json");用于导入。可以说我更改了一个ID,然后必须重新加载app.js才能对其进行更新。如果不这样做,我的检查机制就不会使用file.json的更新版本
每次使用函数时,应该如何更新文件?

最佳答案

您正在将uID(我认为是字符串)与数组中的每个对象(包含一个字符串)进行比较。

尝试与买家对象的id属性进行比较:

if (uID === ftpr.buyers[i].id) { }

关于javascript - 如何使用NodeJS遍历JSON文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50556080/

10-09 20:28
查看更多