Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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从coingecko API提取价格_Javascript_Api - Fatal编程技术网

如何在嵌套数组中使用javascript从coingecko API提取价格

如何在嵌套数组中使用javascript从coingecko API提取价格,javascript,api,Javascript,Api,我已成功从cryptocompare.com收集价格,如下所示: https://min-api.cryptocompare.com/data/price?fsym=GRIN&tsyms=USD 返回: {“USD”:0.996} {"bitcoin":{"usd":7238.46}} 请注意美元价格是如何不嵌套的 当尝试使用coingecko的API时,价格是嵌套的。例如: https://api.coingecko.com/api/v3/simple/price?ids=bit

我已成功从cryptocompare.com收集价格,如下所示:

https://min-api.cryptocompare.com/data/price?fsym=GRIN&tsyms=USD
返回:

{“USD”:0.996}
{"bitcoin":{"usd":7238.46}}
请注意美元价格是如何不嵌套的

当尝试使用coingecko的API时,价格是嵌套的。例如:

https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd
返回:

{“USD”:0.996}
{"bitcoin":{"usd":7238.46}}
我的问题是,我不知道如何修改javascript来定位价格

相关代码如下:

$.getJSON("https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd", function(data){
    $("#BTCPrice").text(data["usd"].toFixed(2));
}).fail(function( dat, textStatus, error ) {
    var err = textStatus + ", " + error;
    alert(err);
});
此代码适用于非嵌套数据,但不适用于嵌套数据。我相信这是一个添加类似

$(#BTCPrice").text(data["bitcoin":"usd"].toFixed)2));
但是我就是不能正确理解语法。

这对你有帮助吗

var-dataString=“{\'bitcoin\':{\'usd\':7238.46}”;
var dataJSON=JSON.parse(dataString);
var bitcoinObject=dataJSON[“比特币”];
console.log(bitcoinObject);
var curr=Object.keys(bitcoinObject)[0];
console.log(当前);//美元
console.log(dataJSON[“比特币”][curr]);//7238.46这对您有帮助吗

var-dataString=“{\'bitcoin\':{\'usd\':7238.46}”;
var dataJSON=JSON.parse(dataString);
var bitcoinObject=dataJSON[“比特币”];
console.log(bitcoinObject);
var curr=Object.keys(bitcoinObject)[0];
console.log(当前);//美元

console.log(dataJSON[“比特币”][curr]);//7238.46
您需要学习如何遍历JSON数据

在这种情况下,您应该能够通过以下方式获得该值:

data["bitcoin"]["usd"]


您需要学习如何遍历JSON数据

在这种情况下,您应该能够通过以下方式获得该值:

data["bitcoin"]["usd"]


我不确定
在哪里起作用。如果您试图指出一段文本是代码,只需在行首使用3个反勾号即可。完成它与3个以上的背部滴答声。第二个示例有一个对象,其密钥为“比特币”。。它的数据本身就是一个对象,键为“usd”,值为7238.46。我不确定
在哪里起作用。如果您试图指出一段文本是代码,只需在行首使用3个反勾号即可。完成它与3个以上的背部滴答声。第二个示例有一个对象,其密钥为“比特币”。。它的数据本身就是一个对象,键为“usd”,值为7238.46,但op是否总是知道货币代码?我在下面展示的方式迎合了货币代码的差异。@JGFMK,没错。尽管OP的问题没有包括任何关于未知对象密钥的内容,但您的问题是更可靠的解决方案。谢谢你,我知道这是一个简单的解决办法。你说得对,我需要学习遍历JSON数据。我需要学习很多东西。但是,再次谢谢你。使用您的第一个建议解决了问题。但op始终知道货币代码吗?我在下面展示的方式迎合了货币代码的差异。@JGFMK,没错。尽管OP的问题没有包括任何关于未知对象密钥的内容,但您的问题是更可靠的解决方案。谢谢你,我知道这是一个简单的解决办法。你说得对,我需要学习遍历JSON数据。我需要学习很多东西。但是,再次谢谢你。使用您的第一个建议解决问题。