如何使用Fetch在HTML表中转换JSON数据(无jQuery)

时间:2018-10-23 16:24:41

标签: javascript json fetch

代码:

 fetch("https://ghibliapi.herokuapp.com/locations", {
    method: 'get'
})
    .then(function (response) {
        return response.json()
            .then(
                function (data) {
                    document.write(dataTable(data));
                }
            )
    }).catch(function (err) {
    console.log('oops!');
});

我需要在html表中显示JSON数据,这是我使用fetch代码的一部分

1 个答案:

答案 0 :(得分:0)

类似这样的东西,但是我会使用jQuery。它功能更强大,而且是“开箱即用”的解决方案。

只需在您的代码中包含。 JSON中有一些具有数组类型值的键,因此尚不清楚如何处理它们。在我的示例中,我将其设置为 tablecell

function dataTable(object) {
    let keys = Object.keys(object[0]);

    let htmlColumns = '';
    keys.forEach((key) => htmlColumns += `<th>${key}</th>`);
    htmlColumns = `<tr>${htmlColumns}</tr>`;

    let htmlRows = '';
    object.forEach((row) => {
        let htmlRow = '';
        keys.forEach((key) => htmlRow += `<td>${row[key]}</td>`);
        htmlRow = `<tr>${htmlRow}</tr>`;

        htmlRows += htmlRow;
    });

    return `<table>
        ${htmlColumns}
        ${htmlRows}
    </table>`;
}