在Express js会话中存储一个实例

我正在使用expressjs会话,我有一个实例需要存储:

function a(){this.name="";} var ins = new a(); req.session['user'] = ins; 

当我下次得到res.session ['user']的时候,这个对象不是instanceof a,并且它不能访问任何原型方法,我怎样才能在会话中存储对象的ref,看起来会话会转换它到json对象

你不能在JSON中存储这样的实例,除非:

  • 您提供了自己的自定义序列化器(在您的类/对象中实现toJSON()函数)
  • 您还可以识别您的序列化对象,并在传递给JSON.parse()的reviver函数中实例化一个新实例。