gpt4 book ai didi

java - Twitter4j - 转换为 JSON 的状态仅返回空值

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:48:33 26 4
gpt4 key购买 nike

我正在测试一个流式传输 Twitter 数据的应用程序。

       List<Status> statuses = twitter.getHomeTimeline();
for (Status status : statuses) {
String rawJSON = TwitterObjectFactory.getRawJSON(status);
System.out.println(rawJSON);
}

这段代码工作正常并打印出这样的东西

{"in_reply_to_status_id_str":null,"in_reply_to_status_id":null,"coordinates":null,"created_at":"Tue Dec 05 13:29:02 +0000 2017","truncated":false,"in_reply_to_user_id_str":null,"source":"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>","retweet_count":1,"retweeted":false,"geo":null,"in_reply_to_screen_name":null,"is_quote_status":false,"entities":{"urls":[],"hashtags":[],"user_mentions":[],"symbols":[]}".....}

当我实现实时流查询设置要跟踪的关键字时,它只打印 null

while(true){
Status status = queue.poll();
if (status == null) {
Thread.sleep(100);
}

if(status!=null){
String json = TwitterObjectFactory.getRawJSON(status);
System.out.println(json);
}

}

我该如何解决这个问题?谢谢。

最佳答案

来自 TwitterObjectFactory javadoc

getRawJSON(java.lang.Object obj) Returns a raw JSON form of the provided object. Note that raw JSON forms can be retrieved only from the same thread invoked the last method call and will become inaccessible once another method call

当您在用于检索要转换的状态的方法之后调用任何方法来检索数据时,它们将变得不可访问,在这种情况下,该方法返回 null 而不是 json。解决方法就是抓取后直接转换。

可悲的是,我不知道解决这个问题的方法,我什至不知道他们为什么这样做!

关于java - Twitter4j - 转换为 JSON 的状态仅返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47655064/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com