2016-09-09 2 views
0

다음 json 있습니다. 이것을 통과하여 'check'값이 'true'인 키에 대한 값을 얻고 싶습니다.각도 - 각도 값을 json에 추가하십시오.

{ 
    "A_B":{ 
    "ID":"09|_|06", 
    "address":"ABC", 
    "name":"2222222222", 
    "Documents":{ 
     "1":{ 
     "format":"xlsx" 
     }, 
     "2":{ 
     "format":"pdf" 
     } 
    }, 
    "check":true 
    }, 
    "C_B":{ 
    "ID":"0a|_|0b", 
    "address":"Los Angeles", 
    "name":"4444444444", 
    "Documents":{ 
     "1":{ 
     "format":"docx" 
     }, 
     "4":{ 
     "format":"xlsx" 
     } 
    }, 
    "check":true 
    }, 
    "C_E":{ 

    "ID":"05|_|06", 
    "address":"", 
    "name":"1111111111", 
    "Documents":{ 
     "5":{ 
     "format":"xlsx" 
     } 
    }, 
    "check":false 
    } 
} 

위 예의 json에서 A_B 및 C_B의 값을 새 json에 추가해야합니다. 새로운 JSON 내가 그 ID를 아래의 코드 그러나

var IDs = Object.keys(completeJson); 
var checkTrueIDs = IDs.reduce(function(initArr,ID) { 
     if(completeJson.check === true) { 
       initArr.push(ID); 
     } 
     return initArr; 
},[]); 
console.log("IDs wth check === true - " + checkTrueIDs); 

을 사용하여 === 사실 '확인'[A_B 및 C_B]을 얻을 수 있어요

{ 
    "A_B":{ 
    "ID":"09|_|06", 
    "address":"ABC", 
    "name":"2222222222", 
    "Documents":{ 
     "1":{ 
     "format":"xlsx" 
     }, 
     "2":{ 
     "format":"pdf" 
     } 
    }, 
    "check":true 
    }, 
    "C_B":{ 
    "ID":"0a|_|0b", 
    "address":"Los Angeles", 
    "name":"4444444444", 
    "Documents":{ 
     "1":{ 
     "format":"docx" 
     }, 
     "4":{ 
     "format":"xlsx" 
     } 
    }, 
    "check":true 
    } 
} 

과 같을 것이다, 나는 아니다 이 ID에 대한 완전한 객체를 가져 와서 새 JSON에 추가 할 수 있습니다. 내가

newJson = completeJson[ID]; 

var newJson = {} 

다음의 경우 조건 내부 (푸시 아래)

을 할 경우 내가 하나의 개체 만 남아 있어요 그래서 결국이 이전 값을 덮어 씁니다.

+0

이 질문에는 _any_json이 없습니다. 그것들은 자바 스크립트 객체 일뿐입니다. – Cerbrus

답변

0

소유하고있는 객체를 반복 할 수 있으며 키 검사가 true이면 newJson 객체에 추가 할 수 있습니다.

var newJson ={}; 
    angular.forEach(completeJson, function(value, key) { 
    if(value.check){ 
    newJson[key] = value; 
    } 
    }); 
console.log(newJson);