在JSON中使用模板文字(discord.js)

时间:2017-11-21 05:10:37

标签: javascript json template-literals

我有这个JSON对象:

"question": "The question, asked by ${users[index]}, was: \n\n${questions[index]}."

在名为“config.json”的文件中。在一个名为“app.js”的单独文件中,我有这行代码:

message.channel.send(config.question);

代码运行时,message.channel.send(config.question)输出:

  

$ {users [index]}提出的问题是:

     

$ {问题[指数]}。

有没有办法将${users[index]}${questions[index]}视为模板文字?基本上我希望输出是这样的:

  

史蒂夫问的问题是:

     

你好世界!

(假设users[index] == "Steve"questions[index] == "Hello World!"

我在周围寻找答案,但他们都来使用额外的Javascript或说它不可能。那么,如果不可能,为什么会这样做?:

message.channel.send("The question, asked by ${users[index]}, was: \n\n${questions[index]}"); 输出:

  

史蒂夫问的问题是:

     

你好世界!

2 个答案:

答案 0 :(得分:1)

这将起作用:

message.channel.send(eval('`'+config.question+'`'))

答案 1 :(得分:0)

要在JavaScript中进行字符串插值,您需要对字符串文字使用反引号(`)。

例如:

`The answer is ${myVar}!`

会将myVar插入到您的字符串中。