实现json迭代
implementing json iteration
我有下面的JSON,需要遍历"rule"对象。我似乎永远都不能正确地调用它,以便能够访问超过最后一条规则的内容。
如果有人能给我指明正确的方向,我会很感激
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的格式很奇怪。它对包含对象的属性"rule"定义了三次,本质上覆盖了它自己。这可能更符合您的要求,而不是将所有这些单项数组嵌套在对象中。
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"]
}
}
];
您可以访问此:
rules[i].rule.PROPERTY
其中i是规则的索引值,PROPERTY是字段、条件等。
您缺少curlies。。。
var rules = [{"rule":[{}]
},{ // You are missing this curly braces.
"rule":[{}]},
{"rule":[{}]}];
您只能有一个rule
键。您之所以只看到最后一个规则,是因为规则会相互覆盖,而最后一个是剩余的,我建议使用数组来存储规则。
相关文章:
- 如何在Jquery中迭代JSON数组
- 如何迭代json对象结构以只获取名称
- 迭代 JSON 文件并且未在 Javascript 中正确返回结果
- 如何迭代json对象的嵌套属性并创建新的数组列表
- 迭代JSON对象并将元素打印到屏幕上的最佳方式是什么
- 无法使用jquery迭代json对象
- 使用嵌入式数组迭代JSON
- 如何使用 D3 javascript 迭代 JSON 文件中的数据
- 如何解析 JSON 字符串和迭代 JSON 对象
- 如何使用Jade和Node.js迭代JSON数组
- 访问特定属性并在 AngularJS 中迭代 JSON 数组
- 如何在 jsRender 模板中迭代 JSON 数组
- 如何使用jQuery迭代json数组和拉取值
- Javascript - 递归 - 迭代 json,用户能够跳过
- 翡翠混合迭代 json
- 从 stomp 消息响应 (JavaScript) 迭代 json 数组
- 在 coffeescript 中迭代 json 响应文本
- 迭代 json 响应
- Javascript 按索引迭代 json
- 在 Angular 项目中迭代 JSON 响应以创建新的 $scope obj 我可以在应用程序中使用的