-3

我有一个 json 文件返回给我类似的东西:

{"id0":"58955","id1":"15614","id2":"897987"}

我解析该 json,并使用例如 identifier.id1 调用这些值

我想在 for 循环中显示我的所有标识符,我尝试了这个,但它出现“未定义未定义未定义”。如果我在循环中手动将 identifier.idk 替换为 identifier.id1,它会起作用并显示 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>';
4

2 回答 2

7

因为它正在你的对象中寻找 idk !JavaScript 并不神奇地知道您希望将字符串“id”和整数 k 连接在一起。你需要告诉它这样做。

使用括号表示法。

identifier["id" + k];

现在对于您的下一个问题,您没有 tds!我认为你想要 td 而不是 tr 在你的循环中。

于 2013-04-12T13:14:23.500 回答
1

而不是identifier.idk使用identifier["id"+k].

解释:

identifier.idkidk在您的标识符对象中查找字面上称为的属性;属性引用的[]形式允许您构造一个字符串并将其用作属性名称。

作为一般性评论,最好在其中放置一个数组,而不是进行字符串操作以动态创建属性名称。

于 2013-04-12T13:14:58.283 回答