2017-03-29 1 views
0

누군가가 도움을 줄 수 있기를 바랍니다.중첩 된 JSON 객체 - 객체 표기법 응답이 정의되지 않았습니다.

{"@context":"https://w3id.org/chainpoint/v2", 
"type":"ChainpointSHA256v2", 
"targetHash":"5eaad1259897efd03dc8ea30d1a0d717fec7ec23b6b1487ad689353a240d92a6", 
    "merkleRoot":"6d6fd23027665e754b2af5fe351bd7096e13ad5706402d24c26afe8db88f95c7", 
     "proof":[{"right":"6a7a3efc12b60355bedcd82d2045f56589bca7090125a100128c70ff79031fc7"}], 
     "anchors":[{"type":"BTCOpReturn", 
    "sourceId":"6452eae85d1450b0b1f1104c07d105991a32f0a7c44a449268ceaebf6599566f"}]} 

내가 설정을 가지고 몽구스 내 "앵커"모델은 객체로이 저장 :

은 내가 몽구스를 통해 내 MongoDB를 저장할 JSON 개체의 다음 예제를 가지고있다.

내 코드에서 Object는 유형을 확인할 때 실제로 Object입니다.

console.log('***Receipt for ID: ' + anchor.receipt); 
:

내가 코드에서 다음을 수행

, 값은 성공적 "anchor.receipt"및 (몽구스 모델 "앵커"입니다) 위의 코드에 인쇄로 정확한 내용입니다 인쇄

다음과 같이 시도하면 문제가 발생합니다. 나는 또한 다음과 같은 작업을 얻기 위해 노력하고

console.log('***targetHash for ID: ' + anchor.receipt.targetHash); 
console.log('***MerkleRoot for ID: ' + anchor.receipt.merkleRoot); 

,하지만 "0"정의되지 않은 말, 오류를 제공합니다 : 모두 아래의 결과는 "정의"입니다

console.log('***SourceId for ID: ' + anchor.receipt.anchors[0].sourceId); 

그래서, 볼 수 있듯이, 중첩 된 JSON 객체의 값을 가져 오는 데 문제가 있습니다. 어떤 도움도 대단히 감사하겠습니다.

감사합니다.

답변

0

야! 해결 :

JSON.parse가 답변입니다. 다행히도 이것은 미래에 다른 사람을 도울 수 있기를 바랍니다.

var data3 = JSON.parse(anchor.receipt); 
console.log('***SourceId for ID: ' + data3.anchors[0].sourceId);