obj
是您的示例中的数组。
需要String
或Buffer
在data参数中。参见文档。
尝试以字符串格式编写数组:
// writes 'https://twitter.com/#!/101Cookbooks', 'http://www.facebook.com/101cookbooks'
fs.writeFileSync('./data.json', obj.join(',') , 'utf-8');
要么:
// writes ['https://twitter.com/#!/101Cookbooks', 'http://www.facebook.com/101cookbooks']
var util = require('util');
fs.writeFileSync('./data.json', util.inspect(obj) , 'utf-8');
编辑:在示例中看到数组的原因是因为节点的实现console.log
不只是调用toString
,而是调用util.format
see console.js源代码