如何在JSON上存储所有数据而不是最后一个?

时间:2016-04-23 20:36:04

标签: json node.js twitter

我正在尝试使用Twitter API来获取纽约的所有推文。现在我想将所有这些推文存储到我的本地json文件(data.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的新手......

1 个答案:

答案 0 :(得分:0)

听起来你需要先打开文件,解析JSON,将新结果附加到数组中,然后将其转换回字符串并再次保存。

我相信这就是你在这里寻找的:https://stackoverflow.com/a/36093141/5884189