1

我将在学校课堂上使用 Twitter 进行一些语义文本分析。我下载了适用于 Java 的Hosebird客户端并正在运行 FilterStreamExample.java:https://github.com/twitter/hbc/blob/master/hbc-example/src/main/java/com/twitter/hbc/example/FilterStreamExample .java

运行它,我得到了很多关于用户个人资料、他们的设置、背景图像等的数据。我只想要推文。也许是位置和用户名。

这可能是一个愚蠢的问题,但我如何让它只显示“文本”信息?现在,它只是打印出所有内容。

// Do whatever needs to be done with messages
    for (int msgRead = 0; msgRead < 1000; msgRead++) {
      String msg = queue.take();
      System.out.println(msg);
    }

我可能可以在字符串本身中搜索“文本”,但这似乎有点麻烦。没有更好的方法吗?

4

1 回答 1

4

来自 twitter 流 API 的响应是 JSON 字符串。将字符串解析为 JSON 对象并从键“文本”中获取值

import org.json.*;
for (int msgRead = 0; msgRead < 1000; msgRead++) {
      String msg = queue.take();
      JSONObject obj = new JSONObject(msg);
     String text= obj.getString("text");
      System.out.println(msg);
}
*Not Tested

在 Java 中解析 JSON 请参阅以下内容 如何在 Java 中解析 JSON

于 2015-12-03T18:09:58.070 回答