javascript - 使用 javascript 或 jQuery 删除多层嵌套 JSON 中的元素

标签 javascript jquery json

我想使用它们的 key 删除任何 JSON 元素。例如,

这是我的 JSON 数据:

{
  "CreateprivateNetwork": {
    "description": "Creatinganetwork.",
    "input": {
        "body": {
            "network": {
                "name": "$.networkname",
                "admin_state_up": "sdfdsf"
            }
        }
    },
    "action": "neutron.create_network",
    "publish": {}
  }
}

我想从此 JSON 中删除元素“name”

要删除的路径:“CreateprivateNetwork.input.body.network.name”。

请帮我解决这个问题。

注意:此路径可能会动态更改。所以我必须从动态 JSON 中删除所有元素。

最佳答案

使用 JSON.parse 删除不需要的 key

function format(json_string, key_to_skip) {
    return JSON.parse(json_string, function (key, value) {
        if (key !== key_to_skip) {
            return value;
        }
    });    
}

var json = {
    "CreateprivateNetwork": {
        "description": "Creatinganetwork.",
        "input": {
            "body": {
                "network": {
                    "name": "$.networkname",
                    "admin_state_up": "sdfdsf"
                }
            }
        },
        "action": "neutron.create_network",
        "publish": {}
    }
};

alert(JSON.stringify(format(JSON.stringify(json), 'name')));

关于javascript - 使用 javascript 或 jQuery 删除多层嵌套 JSON 中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29553369/

相关文章:

javascript - 以 Angular 删除 beforeunload 事件

jquery - 更改事件选项卡上的父 Div 背景颜色

jquery - 照片网格中可点击图像的设置

javascript - 无法将值分配给 Angular 工厂内的变量?

arrays - PLpgSQL:将每条记录存储在For循环中并返回json

javascript - 从可能不存在的 JSON 对象中提取数据

c# - 如何将数据序列化为缩进的json

javascript - 与选项元素同步按钮

javascript - 为什么 https ://gist. github.com/384583 的 watch() 和 unwatch() 的垫片在 phantomjs 中不起作用?

javascript - javascript/jquery 网站动画的良好实践