我有一个像这样的JSON对象:
var saveChamp = {
"champ1": {"type": "radio", "size": 4, "null": null},
"champ2": {"type": 3, "size": 4, "null": null}
};
alert(saveChamp.champ1.type);
在此示例中,警报显示“radio”,这是正常的。
如果我不知道champ1或champ2用于检索“类型”或“大小”,我该怎么办?我动态创建了json,所以我无法知道对象的所有名称。
谢谢!
答案 0 :(得分:3)
您可以使用for ... in
语法检索对象的所有元素,这些元素的名称在您之前不知道(see MDN)。
请注意hasOwnProperty()
子句(MDN)。这可以防止JavaScript在原型链中上升,并且只能处理对象本身的属性。因此,您不会获得Object
的默认方法。
var saveChamp = {
"champ1": {"type": "radio", "size": 4, "null": null},
"champ2": {"type": 3, "size": 4, "null": null}
};
var el;
for( el in saveChamp ) {
if( saveChamp.hasOwnProperty( el ) ) {
alert( saveChamp[el].type );
}
}