Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将变量应用于json路径_Javascript_Node.js_Json_Discord.js - Fatal编程技术网

Javascript 将变量应用于json路径

Javascript 将变量应用于json路径,javascript,node.js,json,discord.js,Javascript,Node.js,Json,Discord.js,我正在创建一个discord.js bot,需要阅读一些 但我偶然发现了一个小问题。在我的代码中,我有一个函数,该函数获取champion名称,然后将其应用于链接ex.if user type!冠军Yasuo它将搜索Yasuo.json。但是当我请求JSON并阅读它时,我想得到一个特定的密钥,冠军的传说。但是这条路看起来像这样,比如data.Yasuo.lore;因为在我的代码中,我有一个获取冠军名称的变量,我也想将其应用于密钥路径,但当我执行它时,会出现一个错误,即无法找到路径,因为路径是re

我正在创建一个discord.js bot,需要阅读一些 但我偶然发现了一个小问题。在我的代码中,我有一个函数,该函数获取champion名称,然后将其应用于链接ex.if user type!冠军Yasuo它将搜索Yasuo.json。但是当我请求JSON并阅读它时,我想得到一个特定的密钥,冠军的传说。但是这条路看起来像这样,比如data.Yasuo.lore;因为在我的代码中,我有一个获取冠军名称的变量,我也想将其应用于密钥路径,但当我执行它时,会出现一个错误,即无法找到路径,因为路径是res.data.championName.lore;这样的钥匙不存在

我能用它做什么?如何将变量应用于密钥路径

代码:


您需要将变量放在括号内(
[]
),以正确访问JSON对象中的值。下面是一个示例,说明如何使用您提供的代码:

function getChampion(championName){
         var url = `http://ddragon.leagueoflegends.com/cdn/10.14.1/data/en_US/champion/${championName}.json`
         request(url, (error, head, body)=>{
             var res = JSON.parse(body);
             var championDesc = res.data[championName].lore; //I want this to be for ex. res.data.Yasuo.lore; I want it as a variable.
             console.log(championDesc);
         })
    }

您需要将变量放在括号内(
[]
),以正确访问JSON对象中的值。下面是一个示例,说明如何使用您提供的代码:

function getChampion(championName){
         var url = `http://ddragon.leagueoflegends.com/cdn/10.14.1/data/en_US/champion/${championName}.json`
         request(url, (error, head, body)=>{
             var res = JSON.parse(body);
             var championDesc = res.data[championName].lore; //I want this to be for ex. res.data.Yasuo.lore; I want it as a variable.
             console.log(championDesc);
         })
    }

当你想使用变量时,你必须使用括号符号,例如
data[championName]
当你想使用变量时,你必须使用括号符号,例如
data[championName]
非常感谢你,我真不敢相信我忘记了这么一件基本的事情,我想这就是当你尝试制作比控制台应用程序更大的东西时会发生的事情。哈哈。没问题!一直都在发生谢谢你这么多,我不敢相信我忘记了这么一件基本的事情,我想这就是当你尝试制作比控制台应用更大的东西时会发生的事情。哈哈。没问题!经常发生