Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 嵌套JSON对象-对象表示法响应未定义_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Node.js 嵌套JSON对象-对象表示法响应未定义

Node.js 嵌套JSON对象-对象表示法响应未定义,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我希望有人能帮忙 下面是通过mongoose保存到mongoDB的JSON对象示例: {"@context":"https://w3id.org/chainpoint/v2", "type":"ChainpointSHA256v2", "targetHash":"5eaad1259897efd03dc8ea30d1a0d717fec7ec23b6b1487ad689353a240d92a6", "merkleRoot":"6d6fd23027665e754b2af5fe351bd7096

我希望有人能帮忙

下面是通过mongoose保存到mongoDB的JSON对象示例:

{"@context":"https://w3id.org/chainpoint/v2",
"type":"ChainpointSHA256v2",
"targetHash":"5eaad1259897efd03dc8ea30d1a0d717fec7ec23b6b1487ad689353a240d92a6",
    "merkleRoot":"6d6fd23027665e754b2af5fe351bd7096e13ad5706402d24c26afe8db88f95c7",
        "proof":[{"right":"6a7a3efc12b60355bedcd82d2045f56589bca7090125a100128c70ff79031fc7"}],
        "anchors":[{"type":"BTCOpReturn",
    "sourceId":"6452eae85d1450b0b1f1104c07d105991a32f0a7c44a449268ceaebf6599566f"}]}
我已经在Mongoose中设置了我的“锚定”模型以将其保存为对象

在我的代码中,当我检查类型时,对象实际上是一个对象

当我在代码中执行以下操作时,值被成功打印(mongoose模型为“Anchor”),并且“Anchor.Receive”是上面代码片段中打印的确切内容:

console.log('***Receipt for ID: ' + anchor.receipt); 
当我尝试执行以下操作时,问题就出现了。以下两项的结果均为“未定义”:

我还试图使以下各项正常工作,但它给出了一个错误,表示未定义“0”:

console.log('***SourceId for ID: ' + anchor.receipt.anchors[0].sourceId);
因此,如您所见:),我在检索嵌套JSON对象中的值时遇到问题。任何帮助都将不胜感激

谢谢

耶!已解决:

JSON.parse就是答案。希望这能在将来帮助其他人

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