无法访问json变量中的值

时间:2016-08-18 17:11:44

标签: node.js syntax

在进行一些mongodb处理之后,我对变量有些麻烦

...................
console.log("MIP : value :" + value._id );
console.log("MIP : page id :" + value._id.id ); 
....................

日志显示此

MIP : value :{ id: '346593403645', _id: 57a868497e07fcf75f27009c, __v: 0 }
MIP : **page id :undefined**

我不明白为什么 value._id.id 的值未定义

你能帮忙吗

1 个答案:

答案 0 :(得分:0)

似乎您将序列化数据保存在value._id

所以试试:

if(typeof value._id == 'string') {
  value._id = JSON.parse(value._id);
}

还要记住,当你想要转储变量时,不要用字符串连接变量。

只是这样做:

console.log("MIP : value :", value);

它将按原样显示变量:
  - 如果它的缓冲区将显示它的缓冲区
  - 如果对象将其输出为对象

好像你的json格格不入。 所以使用dirty-json包:

var dJSON = require('dirty-json');

dJSON
    .parse(value._id)
    .then(function (result) {
       console.log(result.id);
    });