这是我使用后的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">
我该怎么做才能让它作为字符串传递,或者我怎样才能在console.log
中获得"welcomeChannelID": "000",
或000
我认为它可能看起来像这样
console.log(data['guilds'][gdata.guild.id][welcomeChannelID]) //error in [gdata.guild.id] box
输出:
000
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);