我有一个 allowedFields 数组,该数组基于从表单生成的 JSON 数组中的键名称。
此阶段不需要许多检索到的字段,因此不应经过验证过程,因此我希望将 JSON 数组的值与 allowedFields 数组的值进行匹配
从表单返回 JSON
{"reference":"sdfsdfsdfsd",
"start_date":"04/22/2014",
"end_date":"05//2014",
"status":"1","frequency":"M",
"day":"sat",
"contract_type":"S",
"notice_period":"1M"}
allowedFields = array(
reference,
start_date,
end_date,
contract_type
)
基本上,我需要删除 allowedFields javascript 数组中未列出的任何字段
最佳答案
1) 将 JSON 解析为对象。
var obj = JSON.parse(json);
2) 确保您已正确定义数组。
var allowedFields = ['reference','start_date','end_date','contract_type'];
3)循环对象,如果键不在数组中,则将其删除。
for (var k in obj) {
if (allowedFields.indexOf(k) < 0) delete obj[k];
}
4) 将您的对象字符串化回 JSON。
var str = JSON.stringify(obj);
输出
{"reference":"sdfsdfsdfsd","start_date":"04/22/2014","end_date":"05//2014","contract_type":"S"}
关于javascript - 根据允许的项目数组删除 JSON 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22783614/