从 JSON 中删除子节点
Deleting child node from JSON
我有以下JSON。我必须从数组中单独删除子节点,其余内容应该可用。
{
"model_type_name": "portfolio",
"hier_model_type_name": "portfolio",
"object_type": "product",
"gen_new_flag": "n",
"mkt_map_req_flag": "n",
"rule_based_flag": null,
"custom_price_type": null,
"hier_id": 468299069,
"hier_name": "AMS",
"parent_hier_id": 1,
"parent_hier_name": "Portfolio",
"level": "2",
"isLeaf": "0",
"parentage": "''Portfolio''AMS",
"hier_gen_new_flag": "y",
"hier_child_gen_new_flag": "y",
"hier_entity_role": "parent",
"hier_child_entity": "portfolio",
"hier_rel_type_name": "portfolio hierarchy",
"hist_flag": "y",
"hier_hist_flag": "y",
"rls_type": null,
"mass_updt_flag": null,
"children": [
{
"model_type_name": "dummy",
"hier_model_type_name": "portfolio",
"object_type": "product",
"gen_new_flag": "n",
"mkt_map_req_flag": "n",
"rule_based_flag": null,
"custom_price_type": null,
"hier_id": 469444670,
"hier_name": "Integrated Solutions",
"parent_hier_id": 468299069,
"parent_hier_name": "AMS",
"level": "3",
"isLeaf": "0",
"parentage": "''Portfolio''AMS''Integrated Solutions",
"hier_gen_new_flag": "y",
"hier_child_gen_new_flag": "y",
"hier_entity_role": "parent",
"hier_child_entity": "portfolio",
"hier_rel_type_name": "portfolio hierarchy",
"hist_flag": "y",
"hier_hist_flag": "y",
"rls_type": null,
"mass_updt_flag": null,
"children": [
{
"model_type_name": "dummy",
"hier_model_type_name": "portfolio",
"object_type": "product",
"gen_new_flag": "n",
"mkt_map_req_flag": "n",
"rule_based_flag": null,
"custom_price_type": null,
"hier_id": 469444678,
"hier_name": "Healthcare",
"parent_hier_id": 469444670,
"parent_hier_name": "Integrated Solutions",
"level": "4",
"isLeaf": "1",
"parentage": "''Portfolio''AMS''Integrated Solutions''Healthcare",
"hier_gen_new_flag": "y",
"hier_child_gen_new_flag": "n",
"hier_entity_role": "parent",
"hier_child_entity": "portfolio",
"hier_rel_type_name": "portfolio hierarchy",
"hist_flag": "y",
"hier_hist_flag": "y",
"rls_type": null,
"mass_updt_flag": null,
"children": null,
"hierGenNewFlag": true,
"releaseDriven": false,
"genNewFlag": false,
"hierChildGenNewFlag": false,
"massUpdateFlag": false
}
],
"hierGenNewFlag": true,
"releaseDriven": false,
"genNewFlag": false,
"hierChildGenNewFlag": true,
"massUpdateFlag": false
}
],
"hierGenNewFlag": true,
"releaseDriven": false,
"genNewFlag": false,
"hierChildGenNewFlag": true,
"massUpdateFlag": false
}
我尝试了这段代码:但它不起作用。请帮忙
for(var i=0; i< $scope.selectedNode.length; i++){
var obj = scope.selectedNode[i];
for(var k in obj){
if(k == "children"){
if(!obj[k]){
delete $scope.selectedNode.children;
}
}
}
}
由于这一行,它不起作用:
if(!obj[k]){
仅当值为 false
、 undefined
、 null
、 0
、 NaN
或 ""
时,才会删除children
。对象的计算结果始终为 true
。(您可以在浏览器的 JS 控制台中通过键入 !!{}
进行检查)。
您应该删除整个条件或"!"。
如果它是一个对象,只需执行以下操作:
delete object.node;
注意力
对于不能使用的对象object.length
它不会返回任何内容,则必须使用Object.getLength(object);
相关文章:
- 删除HTML节点而不删除其子节点
- jQuery如何用1行来附加html和删除子节点
- 如何在JavaScript中删除子节点触发点击事件时的父节点
- Kendo TreeView-只向没有子节点的父节点添加删除图像图标
- 使用 JavaScript 从 XML 中删除子节点
- jQuery - 如何循环删除仅某些子节点
- 如何从 Javascript 对象中删除所有子节点
- 从 JSON 中删除子节点
- 如何在 jstree 中删除所选节点的子节点
- 可以't删除所有子节点
- DOM Javascript正在删除子节点
- 如何使用jquery删除树视图子节点
- 如何删除父节点及其所有子节点
- 从组paperJS中删除特定的子节点
- Firebase根据子值删除节点
- Firebase Web update()删除所有其他子节点
- KinteticJS -销毁节点,无限while循环,因为子节点没有被删除
- 删除子节点错误
- 删除子节点
- 在javascript dom中,删除所有子节点会产生错误