使用
后,这是我的json文件let data = await fs.readFileSync ("./data/json/serversettings.json","utf8", function(err) {
if (err) throw err;
})
console.log(data)
我得到答复
{
"guilds": {
"627832600865800222": {
"guildautorole": "default",
"welcomeChannelID": "000",
"logchannel": "default",
"guildMemberCount": 7,
"guildOwnerID": "348832732647784460",
"voicelogchannel": "default",
"guildOwner": "Ethical Hacker",
"prefix": ",",
"guildID": "627832600865800222",
"guildName": "Bot testing server"
},
"637301291068030997": {
"prefix": ".",
"guildID": "637301291068030997",
"guildName": "test server 3",
"guildautorole": "default",
"welcomeChannelID": "default",
"logchannel": "default",
"guildMemberCount": 4,
"guildOwnerID": "348832732647784460",
"voicelogchannel": "default",
"guildOwner": "Ethical Hacker"
},
"GUqGqFanJuN7cRJx4S2w": {}
}
}
我可以从welcomeChannelID
到名为627832600865800222
的变量中获取ID
的值
第二次,所以我错了
console.log(data['guilds'][gdata.guild.id])
我遇到错误,无法读取未定义的属性'627832600865800222'
我该怎么做才能使其作为字符串传递,或者如何在"welcomeChannelID": "000",
中获得000
或console.log
我认为它可能看起来像这样
console.log(data['guilds'][gdata.guild.id][welcomeChannelID]) //error in [gdata.guild.id] box
输出:
000
答案 0 :(得分:0)
data
类型为string
,因此您需要先对其进行解析,然后才能尝试将其作为对象进行访问。
let data = await fs.readFileSync ("./data/json/serversettings.json","utf8", function(err) {
if (err) throw err;
});
data = JSON.parse(data);
let ID = data['guilds'][gdata.guild.id]['welcomeChannelID'];
console.log(ID);