我有一个json文件给我回复:
{"id0":"58955","id1":"15614","id2":"897987"}
我解析了json,并使用例如identifier.id1
调用这些值我想在for循环中显示所有标识符,我试过这个但是它来了“undefined undefined undefined”。如果我在我的循环中使用identifier.id1手动替换identifier.idk,它可以工作并显示15614。 我的错误在哪里?
这是我的代码
identifier = JSON.parse(output)
var html = '<table border="0">';
html += '<tr valign="top" ><td><b>Identifiers :</b></td>';
for (var k = 0; k < 3; k++)
{
html += '<tr>';
html += identifier.idk;
html += '</tr>';
};
html += '</tr></table>';
答案 0 :(得分:7)
因为它在你的对象中寻找idk! JavaScript并不神奇地知道您希望将字符串“id”和整数k连接在一起。你需要告诉它这样做。
使用括号表示法。
identifier["id" + k];
现在为你的下一个问题,你没有tds!我想你想在你的循环中使用td而不是tr。
答案 1 :(得分:1)
而不是identifier.idk
使用identifier["id"+k]
。
说明:
identifier.idk
在标识符对象中查找名为idk
的属性; []
形式的属性引用允许您构造一个字符串并将其用作属性名称。
作为一般性评论,在那里安装数组可能更好,而不是进行字符串操作来动态创建属性名称。