Twitter4j 获取推文的 JSON 格式

Twitter4j get JSON format for tweets

我正在检索推文并将它们存储在文本文件中。我不是以纯文本字符串格式检索推文,而是如何检索状态对象的 JSON 格式的推文。因为我将在检索完成后上传到 Oracle 数据库,这将需要将 JSON 的格式更改为 .csv 文件。这对于纯文本是不可能的。 我的代码低于任何帮助将不胜感激。

p public static void main(String[] args) {
    ConfigurationBuilder cb = new ConfigurationBuilder();
    cb.setDebugEnabled(true)
        .setOAuthConsumerKey("")
        .setOAuthConsumerSecret("")
        .setOAuthAccessToken("")
        .setOAuthAccessTokenSecret("");

    StatusListener listener = new StatusListener(){

        public void onStatus(Status status) { 
            long iD = status.getId(); 
            String username = status.getUser().getScreenName(); 
            String tweetText = status.getText(); 
            Date createdAt = status.getCreatedAt();  
            System.out.println(iD+" "+username+" "+tweetText+" "+createdAt);
            String text = iD+" "+username+""+tweetText+" "+createdAt; 
            try {

                PrintWriter pw = new PrintWriter(new FileWriter("TwitterTweetData.txt", true));
                pw.println(text);
                pw.close();
              } catch ( IOException e ) {
                 e.printStackTrace();
              }

        }

        public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) {}

        public void onTrackLimitationNotice(int numberOfLimitedStatuses) {}

        public void onException(Exception ex) {
            ex.printStackTrace();
        }
        public void onScrubGeo(long arg0, long arg1) {}

        public void onStallWarning(StallWarning arg0) {}            
    };

    TwitterStreamFactory tf = new TwitterStreamFactory(cb.build());
    TwitterStream twitterStream = tf.getInstance();
    twitterStream.addListener(listener);

    FilterQuery filtre = new FilterQuery();
    String[] keywordsArray = {"#Hello"}; // Removed Hashtags I'll be using 
    filtre.track(keywordsArray);
    twitterStream.filter(filtre);  
}

}

这里按原样写状态..:[=​​13=]

  PrintWriter pw = new PrintWriter(new FileWriter("TwitterTweetData.txt", true));
  pw.println(status);
  pw.close();

你的意思是用

替换pw.println(status);
 pw.println(DataObjectFactory.getRawJSON(status));

'phiX' 的上述回答将为您提供完整的推文 Json。如果您只想将推文的某些特定部分设为 json,请检查 this。下载项目,根据需要修改 com.tweetDownload.dataformat.Tweet 和 com.tweetDownload.service.CustomStatusListener 文件。

这个 library 基本上做的是它根据搜索词下载推文,包括主题标签和提及,以及推特识别的语言,根据数据解析相关信息- format class,将该信息转换为 Json 格式并将其存储在本地文件系统中。所有这些应用程序参数,包括 Twitter OAuth 凭证,都是从项目属性文件中读取的。