在Javascript中查找JSON对象的键值

时间:2012-07-10 01:02:10

标签: javascript json

我在我的javascript代码中有一个JSON对象,如:

{"0" : "Jul 09, 2012 05:05 PM", "3" : "Jul 09, 2012 05:08 PM"}

我使用

解码了这个JSON
var jsonObj = eval('(' + {/literal}{$json}{literal} + ')');

我可以使用

访问值
jsonObj[i]

但如果我访问jsonObj [2],这会给我一个错误,因为它不在我的json中。

所以我希望有办法访问JSON的第一部分,即关键部分。所以我将它们存储在JS中的数组中并循环遍历它们。

3 个答案:

答案 0 :(得分:2)

eval是邪恶的。无论如何,如果你想循环json的属性('keys'),你可以做

for(key in jsonObj) {
   if(jsonObj.hasOwnProperty(key)) {
     //do something with the values
     // jsonObj[key] 
   }
}

答案 1 :(得分:0)

if (jsonObj.hasOwnProperty('2')) {

}

答案 2 :(得分:0)

现代浏览器具有“静态”方法Object.keys()。旧版浏览器有一个垫片。然后你可以遍历返回的键数组,或者如果你使用的是大多数框架,则使用.indexOf()或.inArray()。