【发布时间】:2011-06-29 09:39:06
【问题描述】:
真的希望有人能帮我解决这个问题,这让我很生气......
我有一个 JSON 对象,来源:
[{"description":"General Accessories & Parts","id":"1"},{"description":"General Parts","id":"2"},{"description":"Parts","id":"3"}]
这是一个PHP返回的数组,以前是这样的:
$array[0]['description']="General Accessories & Parts";
$array[0]['id']="1";
$array[1]['description']="General Parts";
$array[1]['id']="2";
etc...
所以,我将数组放入我的 JavaScript 代码中:
obj=eval(ajax.responseText);
现在我需要遍历数组中每个元素的描述和 id,我确实尝试过:
for(var key in obj){
if(!obj[key].hasOwnProperty(key)) continue;
alert(obj[key]['description']);
}
我尝试的上述代码只是回显[object Object],[object Object],[object Object],这是我知道的三个对象。
【问题讨论】:
-
你有 Firebug 吗?您可以检查您的评估对象。顺便说一句,使用 eval 被认为是邪恶的。如果浏览器支持,您应该使用 JSON.parse()。如果你使用 jQuery 或 Prototype,他们也有 api 方法。
-
您是否在 PHP 代码中将 $array 编码为 Json 格式?
-
@Richard H:是的,得到了萤火虫并检查了它与上面发布的相同的对象,我看不出有什么奇怪的。 OK 将使用 JSON.parse(),感谢您的提示,这是有道理的。但不允许使用任何类如 jQuery 或 Prototype,因为这会让老板生气。
-
@Gunner :是的,在我做的 php 代码中:json_encode($array);
标签: javascript json object for-loop