从CoinGecko API获取加密货币实时价格时带连字符ID的访问问题
解决CoinGecko API带连字符资产ID的访问问题
问题根源在于JavaScript对象属性的访问规则:当属性名包含连字符(比如binance-peg-bitcoin-cash)时,不能用**点符号(.)**访问——连字符会被JS解析成减法运算符,直接触发语法错误。
修复代码
把点语法改成方括号语法,用字符串形式传入带连字符的属性名即可:
bch = response['binance-peg-bitcoin-cash'].usd;
如果想让代码更清晰,也可以拆分步骤:
const bchAsset = response['binance-peg-bitcoin-cash']; bch = bchAsset.usd;
额外纠错提示
你的代码里还有几处逻辑错误,建议同步修正:
usdtbnb = response.ethereum.bnb;:这里错误地把以太坊的价格赋值给了USDT变量,若你要获取USDT的价格,需确认CoinGecko对应的资产ID(正确ID是tether,建议检查请求URL里的ids参数是否正确)usdcbnb = response.usd.bnb;、ltcbnb = response.usd.bnb;:这两行错误地复用了response.usd的数值,应该分别对应usd-coin和litecoin的属性
内容的提问来源于stack exchange,提问作者Ahmed Syam
相关产品推荐
相关产品推荐

