如何从 JSON 文件中获取值无法读取错误'number'属性



这是我使用后的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);

最新更新