Javascript 如何使用Discord.js显示.JSON文件的内容?
目前我的代码读取为Javascript 如何使用Discord.js显示.JSON文件的内容?,javascript,node.js,json,discord.js,Javascript,Node.js,Json,Discord.js,目前我的代码读取为 if(message.content.startsWith(前缀+'readback')){ fs.readFile('msgs.json',(err,data)=>{ 如果(错误)抛出错误; 让_msgs=JSON.parse(数据); message.channel.send(_msgs); console.log(_msgs) }); } 使用所有适当的常量和变量 使用prefix+'readback时,Discord Bot将\u msgs显示为[object ob
if(message.content.startsWith(前缀+'readback')){
fs.readFile('msgs.json',(err,data)=>{
如果(错误)抛出错误;
让_msgs=JSON.parse(数据);
message.channel.send(_msgs);
console.log(_msgs)
});
}
使用所有适当的常量和变量
使用prefix+'readback
时,Discord Bot将\u msgs
显示为[object object]
——为了确保代码没有问题,我添加了console.log(\u msgs)
,并且正确的JSON文件内容显示在控制台中。有没有办法让Bot在通道中显示JSON文件的内容
fs.readFile('msgs.json', (err, data) => {
if (err) throw err;
let _msgs = JSON.stringify(JSON.parse(data), null, 2);
message.channel.send(_msgs);
console.log(_msgs)
});
这将把JSON格式化为多行,带有两个空格的缩进
如果您这样做:
message.channel.send(data);
然后,您将获得JSON,但不带格式。您可以利用它
与堆栈溢出一样,代码块可用于格式化代码,甚至添加颜色:
```json
{
"some": "json"
}
```
将呈现如下所示:} 现在,正如Xander Kyle在评论中所说,您希望使用
JSON.stringify
作为message.channel.send
使用toString
将变量转换为字符串,而它对对象不起“您想要的”作用
fs.readFile('msgs.json',(err,data)=>{
if(err){throw err;}
const _msgs=JSON.stringify(JSON.parse(data),null,2);
message.channel.send('``json\n'+\u msgs+'\n``');
console.log(_msgs)
});
stringify中的
2
使json缩进()这是我使用的代码,它将一个格式化为json的对象发送到通道
var msg='\``json\n{'
for(jsobj中的var键){
if(jsobj.hasOwnProperty(键)){
msg=msg+“\n\”“+key+”\:\”“+jsobj[key]+“\”,”
}
}
msg=msg.substring(0,msg.length-1)
msg=msg+“\n}\``”
message.channel.send(msg);
jsobj
变量将是您的JSON对象。message.channel.send()使用toString()方法将MSG转换为字符串,该方法将为JSON对象返回类似[object object]的内容;您可能想尝试使用JSON.stringify()