我正在使用高级会员命令在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/