【发布时间】:2021-10-29 14:45:02
【问题描述】:
我正在尝试将 json 解析为 html。
- 使用 forEach 函数循环数据存在问题。不知道为什么?
- 这些值也没有正确显示。
- 我希望能够将数据显示并循环到 html 中。
async function fetchData() {
const response = await fetch('https://assets.cmcmarkets.com/json/cmc-test-most-popular-feed.json');
const data = await response.json();
console.log(data)
data.forEach(obj => {
Object.entries(data).forEach(([key, value]) => {
console.log(`${key} ${value}`);
const Name = document.querySelector('.name'),
Code = document.querySelector('.code'),
Spread = document.querySelector('.spread'),
CellA = document.querySelector('.cellA');
if (key == "name") {
Name.innerHTML = `<div>Name: ${value}</div>`;
}
if (key == "code") {
Code.innerHTML = `<div>Code: ${value}</div>`;
}
if (key == "spread") {
Spread.innerHTML = `<div>Spread: ${value}</div>`;
} else if (key == "1day") {
}
// data["X-ABFDN"]['1day'] data["X-ABAAA"]['1day'] data["X-AQWER"]['1day']
else if (key == "1day") {
CellA.innerHTML = `<div>movement: ${data[key]["movement"]}</div><div>price: ${data[key]["price"]}</div>`;
}
});
});
}
fetchData();
<div class="name"></div>
<div class="code"></div>
<div class="spread"></div>
<div class="cellA"></div>
【问题讨论】:
-
请添加更多详细信息。什么不工作?有什么错误吗?想要的输出?第一件事:
Object.entries(data)不是很清楚。你提过Object.entries(obj)吗? -
datafrom this endpoint 只是一个对象,没有包装它的数组,所以我认为您只需删除data.forEach(obj...)循环并让Object.entries(data).forEach(...)成为唯一的循环。 -
@James 谢谢,解决了 forEach 问题。现在我没有在 html 上渲染和显示任何东西
标签: javascript html json