我有下面的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;
}
}
}
}
JSON是字符串的數據格式,不能刪除字符串中的節點。你的意思是一個** javascript對象**嗎? – adeneo 2014-11-25 10:57:20
'if(!obj [k]){' - 我認爲你需要檢查相反的條件:_if節點存在然後刪除它_ – fcalderan 2014-11-25 10:59:55
是的,它是一個對象..請分享你的信息我該怎麼做 – Narayanan 2014-11-25 11:32:01