我想通过使用他们的密钥删除任何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中删除任何元素。
答案 0 :(得分:2)
使用JSON.parse
删除您不需要的密钥
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')));

答案 1 :(得分:0)
使用delete命令删除元素。
在你的情况下,它将是:
var json = { "CreateprivateNetwork": { "description": "Creatinganetwork.", "input": { "body": { "network": { "name": "$.networkname", "admin_state_up": "sdfdsf" } } }, "action": "neutron.create_network", "publish": {} } };
delete json.CreateprivateNetwork.input.body.network.name;