如何解决node.js中的循环结构

问题描述:

我想使用,我想用他的网卡MAC地址加密用户ID。
cryptoJS需要JSON.stringify这些数据然后加密。
但我看到这个错误控制台:如何解决node.js中的循环结构

TypeError: Converting circular structure to JSON 

这是我的代码片段:

var mac = 'e0:23:e3:46:57:52' 
var userInfo = JSON.stringify({_id: user._id, mac: mac}) 
var cookie = crypto.AES.encrypt(userInfo, 'secret key') 
res.cookie('userInfo', cookie, { expires: new Date(Date.now() + 900000000) }) 
+0

'user._id'的类型是什么?我认为它可能包含循环引用。 – Thomas

+0

来自mongodb的Object.id – mo30

+0

如果错误来自'JSON.stringify'调用,这与加密,cookie或cryptojs无关。 – Thomas

user._idObjectId,只需将其转换为字符串:

var userInfo = JSON.stringify({ _id: user._id.toString(), mac: mac }); 

而且尝试使用util.inspect,它会自动用[Circular]替换循环链接。

+0

仍然显示相同的错误:( – mo30

+0

mac是一个MAC ADDRESS,一个字符串 – mo30