解析 JSON 字符串化变量 returns 值未定义?
Parsing a JSON Stringified variable returns the value undefined?
下面的代码是我discord.jsmessage
event, I am using discord.js as well as node-wit的全部。当 wit 识别出包含数学表达式的消息时,它会评估该值并将其发送回给用户。
它使用JSON.stringify()
发回数据。但是,当我尝试解析它时,我只记录了所有内容 returns 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 } ] }
基于此结构
{ intents: [ { name: 'Math', confidence: 0.9945 } ] }
我认为这应该是这样的
试试
if (responseParsed.intents[0].name == 'Math') {
message.channel.send(eval(data));
}
下面的代码是我discord.jsmessage
event, I am using discord.js as well as node-wit的全部。当 wit 识别出包含数学表达式的消息时,它会评估该值并将其发送回给用户。
它使用JSON.stringify()
发回数据。但是,当我尝试解析它时,我只记录了所有内容 returns 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 } ] }
基于此结构
{ intents: [ { name: 'Math', confidence: 0.9945 } ] }
我认为这应该是这样的 试试
if (responseParsed.intents[0].name == 'Math') {
message.channel.send(eval(data));
}