我有下面的JSON,需要迭代通过“规则”对象。我似乎永远无法正确地调用它来访问不仅仅是最后一条规则。实施json迭代
如果有人能在正确的方向指向我,我会非常感激
var rules = [{
"rule":[{
"fields":["CASE.PROSECUTED_FLAG","CASE.RESTITUTION_SIGNED"],
"conditions":["N","Y"],
"actions":"required",
"action_fields":["test1","test2"]
}],
"rule":[{
"fields":["CASE.PROSECUTED_FLAG","CASE.RESTITUTION_SIGNED"],
"conditions":["N","N"],
"actions": "required",
"action_fields": ["test3", "test4"]
}],
"rule":[{
"fields":["CASE.PROSECUTED_FLAG"],
"conditions":["Y"],
"actions": "required",
"action_fields": ["test5"]
}]
}];
function rulesControl() {
alert(rules.length);
for (var rule in rules) {
var xfields = rules[rule].rule.fields;
var conditions = rules[rule].rule.conditions;
var actions = rules[rule].rule.actions;
var action_fields = rules[rule].rule.action_fields;
//test the fields (if success, mark them, else clear them)
if (validateRule(xfields, conditions)) {
rulesAction(actions, action_fields);
} else {
ruleActionMakeClear(action_fields);
}
}
}
在json对象中,是否真的可以有几个具有相同名称(“规则”)的属性?改用数组。嗯...也许这是一个答案... – LosManos 2012-07-26 19:27:36
你不应该使用'for..in'来迭代一个数组。 – ThiefMaster 2012-07-26 19:30:46