我已經在此搜索了所有的stackoverflow/google,但似乎找不到它。使用Node.js將對象寫入文件
我在抓取給定URL頁面的社交媒體鏈接,該函數返回一個包含URL列表的對象。
當我嘗試把這些數據寫入到不同的文件,將其輸出到該文件作爲[object Object]
而不是預期的: [「https://twitter.com/#!/101Cookbooks」, 「http://www.facebook.com/101cookbooks」] 作爲它,當我console.log()
結果一樣。
這是我的傷心試圖讀取和寫入節點文件,試圖讀取通過函數調用request(line, gotHTML)
每一行(網址),並輸入:
fs.readFileSync('./urls.txt').toString().split('\n').forEach(function (line){
console.log(line);
var obj = request(line, gotHTML);
console.log(obj);
fs.writeFileSync('./data.json', obj , 'utf-8');
});
參考 - 在gotHTML
功能:
function gotHTML(err, resp, html){
var social_ids = [];
if(err){
return console.log(err);
} else if (resp.statusCode === 200) {
var parsedHTML = $.load(html);
parsedHTML('a').map(function(i, link){
var href = $(link).attr('href');
for(var i=0; i<socialurls.length; i++){
if(socialurls[i].test(href) && social_ids.indexOf(href) < 0) {
social_ids.push(href);
};
};
})
};
return social_ids;
};
'[對象的對象]'是一個對象'toString'。如果你想要對象的表示,使用'JSON.stringify'。 – elclanrs
請注意'JSON.stringify'。對於數組,您是安全的,但是當對象具有循環引用時,它將失敗([請參閱本主題](http://stackoverflow.com/a/11616993/151445))。 'util'模塊處理循環引用。 –