Node.js 嵌套JSON对象-对象表示法响应未定义
我希望有人能帮忙 下面是通过mongoose保存到mongoDB的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
{"@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);