2017-03-29 6 views
0

誰かが助けてくれることを願っています。ネストされたJSONオブジェクト - オブジェクト表記のレスポンスは定義されていません

私はマングースを経て、私はMongoDBに保存JSONオブジェクトの次の例があります。

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

私はオブジェクトとしてこれを保存するマングースでセットアップ私の「アンカー」のモデルを持っています。

私のコードでは、オブジェクトは実際には型をチェックするときにObjectです。

Iコードに次のないとき(マングースモデルは「アンカー」である場合)、値が正常に印刷され、そして「anchor.receipt」は上記のコードで印刷ように正確な内容である:

console.log('***Receipt for ID: ' + 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

Yay!解決済み:

JSON.parseが答えです。うまくいけば、これは将来誰かを助けることができる。

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