我将使用Twitter在学校课堂中进行一些语义文本分析。我下载了Hosebird Client for Java并运行了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);
}
我可能会在字符串本身中搜索“text”,但这看起来有点麻烦。有没有更好的方法呢?
答案 0 :(得分:3)
来自twitter Streaming API的响应是JSON String。将字符串解析为JSON Object并从键“text”获取值
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 How to parse JSON in Java