console.log和util.inspect不能正确打印对象

在只有一个特定的对象中,当我使用console.log或者打印util.inspect的结果时,我得到的结果只是数字12

现在我怎么打印的对象不只是数字12 ? 我使用debugging器检查器来查看属性和函数,也可以运行一些代码来检查Node.js console.log(object)中所描述的对象的所有成员。

注:我试图克隆/复制对象,我得到相同的行为,这个对象有什么问题?

我正在使用这个库: https : //hexo.io/

当我尝试使用此function时: https : //hexo.io/api/renderer.html

代码示例:

 hexo.extend.renderer.register('some', 'html', function (data, options, callback) { console.log("Data"); console.log(data); // It works (object is printed sucessfully) console.log("Options"); console.log(options); // I got "2" printed. // something unrelated code to use the callback }, false); 

就像我说的那样,对象options有几个不同的成员,并且与util.inspect是相同/相似的行为,即使我指定了深度和/或其他参数。

我的目的是find为什么会发生,以及如何解决它?

编辑:

另外,如果我尝试将这个对象序列化成JSON,使用JSON.stringify ,那将是我会得到的exception:

 Unhandled rejection TypeError: Converting circular structure to JSON at Object.stringify (native)