【发布时间】:2021-10-21 18:00:34
【问题描述】:
我正在尽最大努力遍历从 API 获得的 JSON 数据并将其显示在 html 表中。我解析了原始 JSON 并显示了访问它的元素的数据,如下所示:
JSON(数据来自api):
{"PrekesID":656851,"Kodas":"6DUSA000000122","SandKodas1":"20402","Likutis_PP":0,"Likutis":11,"KAPKodas":"5902115799686","KAPPavad":"PRAUSTUVO VOŽTUVAS S","Kaina":40},{"PrekesID":656851,"Kodas":"6DUSA000000122","SandKodas1":"20406","Likutis_PP":11,"Likutis":11,"KAPKodas":"5902115799686","KAPPavad":"PRAUSTUVO VOŽTUVAS S","Kaina":40}
整个 json 被标记为“内容”,所以:
let jsn=JSON.parse(content);
document.getElementById("Prekes_Kodas").innerText="Kodas: "+jsn.Kodas;
document.getElementById("Prekes_Barkodas").innerText="Barkodas: "+jsn.KAPKodas;
到目前为止,一切都很好。但是我面临一个问题,如果 JSON 类型是对象并且我循环遍历它并访问它的元素甚至获取长度。有什么建议吗?
函数(数据为解析后的JSON):
function warehouseQuant(data){
let table = document.getElementById("myTable");
for (let i = 0; i < data.length; i++ ){
let row = `<tr>
<td>${data[i].Kodas}</td>
<td>${data[i].Kaina}</td>
<td>${data[i].Likutis}</td>
</tr>`
table.innerHTML += row
}
}
【问题讨论】:
-
如果我理解正确的话,
jsn/data有时是一个数组,有时是一个对象?如果是这样,快速解决方法是将if(!data.length)data=[data]放在程序的开头 -
那行得通。谢谢。
标签: javascript html jquery json