2016-04-23 33 views
0

我正在嘗試使用Twitter API來獲取紐約市的所有推文。現在我想將所有這些推文存儲到我的本地json文件(data.json)中。但是在運行這段代碼之後,我發現只有最後一條推文不是全部存儲的。如何在JSON上存儲所有數據而不是最後一個數據?

var Twitter = require('twitter'); 
const fs = require('fs'); 

var client = new Twitter({ 
    consumer_key: 'XXXXXXXXXXXX', 
    consumer_secret: 'XXXXXXXXXXXX', 
    access_token_key: 'XXXXXXXXXXXX', 
    access_token_secret: 'XXXXXXXXXXXX' 
}); 

client.stream('statuses/filter', {locations: '-74,40,-73,41'}, function(stream) { 
    stream.on('data', function(tweet) { 
    fs.writeFile('./data.json', JSON.stringify(tweet), 'utf-8'); 
    console.log(tweet.text); 
    }); 

    stream.on('error', function(error) { 
    throw error; 
    }); 
}); 

如何將它們全部存儲在data.json中?這有點像'+ ='操作,但我是js的新手...

回答

0

聽起來好像你需要先打開你的文件,解析JSON,將新的結果附加到數組,將其轉換回到一個字符串並再次保存。

我相信這是你在這裏找的:https://stackoverflow.com/a/36093141/5884189

+0

謝謝你!我試過fs.appendFile(),它工作 –

相關問題