我想从 Coinmarket 获取 JSON 数据。
我获取了数据,但无法映射数据。
在我的代码下面
const p = document.querySelector('p');
let endpoint = "https://api.coinmarketcap.com/v1/ticker/?convert=EUR";
let coinsdata = [];
fetch(endpoint)
.then(blob => blob.json()
.then(data => coinsdata.push(...data)));
console.log(coinsdata);
coinsdata.map(coindata => {
return p.innerHTML = coindata.id;
});
最佳答案
您代码的问题是您没有正确管理异步 xhr 调用。该代码是在“then”代码块之外编写的,这就是为什么您看不到任何内容。
解决方案:
let p = document.querySelector('p');
const endpoint = "https://api.coinmarketcap.com/v1/ticker/?convert=EUR";
fetch(endpoint)
.then(blob => blob.json())
.then(data => {
data.map(obj => p.innerHTML += ("\n" + JSON.stringify(obj)) );
});
这将按顺序打印对象。您可以根据您的要求更改代码。这只是为了展示核心思想。
关于javascript - 如何在 Javascript ES6 中映射 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47645695/