아래 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은 문자열의 데이터 형식이므로 문자열의 노드를 삭제할 수 없습니다. ** 자바 스크립트 개체 **를 의미 했습니까? – adeneo
'if (! obj [k]) {'- 반대 조건을 확인해야한다고 생각합니다 : _if 노드가 존재하고 삭제합니다. – fcalderan
예, 객체입니다 .. 정보를 공유하십시오. 어떻게 할 수 있습니까? – Narayanan