通过json提取错误数据,从API获取内容

时间:2017-12-20 23:10:21

标签: javascript json api fetch

我试图从此API中获取一个数字

https://api.bithumb.com/public/ticker/btc

我试图获得sell_price

我的fetch功能正常,因为我能够很好地从另一个API获取数据,它在数组中组织良好。

我有这个功能:

var price_USD = document.getElementById('price-btc-usd-humb');
var USDPrice = data.data.sell_price;
price_USD.innerHTML = USDPrice;

或与

相同
var USDPrice = data.data.sell_price[0];
在这两种情况下,

都只给出了整数的第一个数字。

你们知道我的错误是什么吗?

谢谢

2 个答案:

答案 0 :(得分:2)

检查以下代码段。它使用sell_price获取fetch()



fetch('https://api.bithumb.com/public/ticker/btc')
  .then(function(response) {
    return response.json();
  })
  .then(function(json) {
    console.log(json);
    var price_USD = document.getElementById('price-btc-usd-humb');
    // notice USDPrice here is a string
    var USDPrice = json.data.sell_price;
    price_USD.innerHTML = USDPrice;
        
    // you can convert it to int
    var USDPriceNumber = parseInt(USDPrice);
    console.log(USDPriceNumber);
  })
  .catch(function(error) {
    console.log(error);
  });

Price: <span id="price-btc-usd-humb"></span>.
&#13;
&#13;
&#13;

答案 1 :(得分:0)

问题是:

npm notice created a lockfile as package-lock.json. You should commit this file.

因为API返回:

var USDPrice = data.data.sell_price[0];

因此,您的代码获取 { status: "0000", data: { opening_price: "21308000", closing_price: "21140000", min_price: "20132000", max_price: "21970000", average_price: "21168606.8824", units_traded: "32077.49761093", volume_1day: "32077.49761093", volume_7day: "262188.14880950", buy_price: "21133000", sell_price: "21147000", date: "1513812135042" } } 字符串的第0个字符。尝试:

sell_price