javascript - 删除符合某些条件的键

标签 javascript json node.js

我需要在nodeJS中删除所有有两个点或有空格或为空的键。

我有这个 JSON:

{
    "cmd": [
        {
            "key:test": "False",
            "id": "454",
            "sales": [
                {

                    "customer_configuration": {
                        "key:points": "test value",
                         "": "empty key",
                        "some_field": "test"
                    }
                }
            ]
        }
    ]
}

目标 JSON:

{
    "cmd": [
        {
            "id": "454",
            "sales": [
                {
                    "customer_configuration": {
                        "some_field": "test"
                    }
                }
            ]
        }
    ]
}

我该怎么做?

最佳答案

您可以使用 for...in 循环创建递归函数来搜索数据,然后删除特定属性。

var obj = {
  "cmd": [{
    "key:test": "False",
    "id": "454",
    "sales": [{

      "customer_configuration": {
        "key:points": "test value",
        "": "empty key",
        "some_field": "test"
      }
    }]
  }]
}

function deleteKeys(data) {
  for (var i in data) {
    if (i.indexOf(':') != -1 || i == '') delete data[i]
    if (typeof data[i] == 'object') deleteKeys(data[i]);
  }
}

deleteKeys(obj)
console.log(obj)

关于javascript - 删除符合某些条件的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41613731/

相关文章:

Javascript 循环在递归中丢失上下文

javascript - 可以刷新 jqGrid 组摘要吗?

javascript - 如何循环 JSON 字符串

javascript - Node.js:长时间延迟

javascript - Jest 全局拆解在测试完成之前运行?

javascript - 使用 NodeJS 接收 JSON

javascript - 如何在动态创建的内容中使用变量执行 onClick 函数

ios - 无法在 NSURLConnection 函数之外访问字典的内容

json - 由于不需要的 key ,因此无法遍历JSON对象

javascript - 通过ajax更新laravel数据库