javascript - 如何在 Javascript ES6 中映射 JSON 数据

标签 javascript json ecmascript-6

我想从 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/

相关文章:

javascript - 如何查找和更新对象数组中的值?

javascript - 迭代中的 ES6 常量用法

javascript - 找不到模块 '@angular-devkit/core'

javascript - 使用jquery从html元素获取属性值

javascript - 获取 "ID"和 "HREF"属性并创建一个 JSON 对象

javascript - 达到最大长度后 AngularJS 换行符

objective-c - NSInteger 不等于 long ?

json - 在 Go 中遍历 json 数组以提取值

javascript - 从不同的 javascript 文件访问 ElementById

javascript - 执行/呈现来自另一个指令的指令