javascript - 根据允许的项目数组删除 JSON 项目

标签 javascript arrays json

我有一个 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"}

Fiddle

关于javascript - 根据允许的项目数组删除 JSON 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22783614/

相关文章:

javascript - THREE.js 中自定义网格的变形目标动画

javascript - 如何在不重新加载页面的情况下更改框架源

javascript - 如何使用jquery将二维数组值推送到输入字段?

由于数据类型错误导致 Java for 循环和编译错误

c# - 无法使用 JavaScriptDateTimeConverter 解析数据

c# - 创建 JObject C# 时删除双花括号

javascript - 如何在没有输入标签的情况下将表单数据从 html 传递到 URL 参数?

java - 在Java中打印矩阵行

c++ - 如何将带有数组的结构转换为类?

python - MySQL、JSON、Python、Django - 完全错误