使用Java Script删除JSON消息中的动态嵌套元素
deleting a Dynamic nested element in JSON message using Java Script
我们正在寻找一个使用Java Script删除JSON消息中嵌套元素的示例代码。此元素名称将从其他函数动态获取。
删除路径:
privateNetwork.floor.block.network.name
我们确信以下代码可以在硬编码中工作:
delete jsonobj[privateNetwork][floor][block][network][name]
但是如何在动态场景中实现这一点呢?
例如:在第二次尝试中,如果我们需要删除privateNetwork.floor.room
.
将属性名拆分为一个数组,循环遍历直到找到它的直接父元素(最后一项旁边),并使用该元素删除最内层字段(数组的最后一项)
var deepObject = {
privateNetwork: {
floor: {
room: 'Room 1408'
}
}
}
// Find object property recursively by string path
var deepFind = function (obj, path) {
var current=obj;
path.split('.').forEach(function(p){ current = current[p]; });
return current;
}
var dynamicPropertyName = 'privateNetwork.floor.room';
var innermostObjectName = dynamicPropertyName.substring(0, dynamicPropertyName.lastIndexOf('.'));
var fieldName = dynamicPropertyName.substring(dynamicPropertyName.lastIndexOf('.') + 1);
var innermostObject = deepFind(deepObject, innermostObjectName);
delete innermostObject[fieldName];
console.log(deepObject);
https://jsfiddle.net/7r6avpsy/相关文章:
- 访问嵌套JSON对象的键,其中键是动态的
- 从对象数组中动态创建嵌套json
- 如何动态创建嵌套对象
- 动态创建嵌套的JSON对象父对象和子对象
- 动态更改嵌套的 JSON
- 尝试在Javascript中嵌套基于用户输入的动态生成的JSON
- Emberjs:动态模板嵌套和路由
- 带有动态输入的嵌套ng重复
- 动态嵌套列表:单击时插入行,在当前元素之后
- 使用 jQuery 从 JSON 创建动态嵌套列表
- 使用 jquery 创建动态嵌套 HTML 标记
- Firefox没有为动态嵌套iframe启动onload
- 使用Java Script删除JSON消息中的动态嵌套元素
- 动态嵌套表单link_to_add被调用两次
- Django动态嵌套模板
- 如何在现有的父指令元素和子指令元素之间动态嵌套指令元素
- 将新输入添加到AngularJS中的动态嵌套列表中
- 在bootstrap中显示动态嵌套下拉列表
- Angular动态嵌套指令,给每个子指令传递一个新的作用域
- 解析动态嵌套JSON到HTML表