0

下面的代码是我的 discord.jsmessage事件的全部,我正在使用discord.js以及node-wit。当 wit 识别出包含数学表达式的消息时,它将评估该值并将其发送回用户。

它使用JSON.stringify(). 但是,当我尝试解析它时,我记录的所有内容都只会返回undefined.

client.on('message', (message) => {
 wClient
  .message(message.content, {})
  .then((data) => {
   const response = JSON.stringify(data, ['intents', 'name', 'confidence']);
   const responseParsed = JSON.parse(response);

   console.log(response);
   console.log(responseParsed);

   if (responseParsed.name == 'Math') {
    message.channel.send(eval(data));
   }
  })
  .catch(console.error);
});

下面列出了控制台日志的实际响应,JSON.stringify()然后是:JSON.parse()

JSON.Stringify()

{"intents":[{"name":"Math","confidence":0.9945}]}

JSON.parse()

{ intents: [ { name: 'Math', confidence: 0.9945 } ] }
4

1 回答 1

0

基于这种结构

 { intents: [ { name: 'Math', confidence: 0.9945 } ] }

我认为这就是应该尝试的方式

 if (responseParsed.intents[0].name == 'Math') {
message.channel.send(eval(data));

}

于 2020-09-08T17:33:53.833 回答