将Tweepy Status对象转换为JSON

时间:2015-01-12 10:59:29

标签: python tweepy

我使用Tweepy下载推文。我有一个程序,然后将实际的Status对象写入文本形式的文件。如何将其转换为JSON,或将此对象导入Python?我尝试使用JSON库进行编码,但Status不是JSON可序列化的。

3 个答案:

答案 0 :(得分:79)

tweepy的Status对象本身不是JSON可序列化的,但它具有_json属性,其中包含JSON可序列化的响应数据。例如:

>>> status_list = api.user_timeline(user_handler)
>>> status = status_list[0]
>>> json_str = json.dumps(status._json)

答案 1 :(得分:4)

更好的方法是使用tweepy解析器。它没有很好地记录 - 请参阅Tweepy API reference - 但它是一个公共API,比使用_json属性更安全。

import tweepy
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth, parser=tweepy.parsers.JSONParser())
status = api.user_timeline(user=username, count=1)[0]
json.dumps(status)

status现在是一个json对象。

答案 2 :(得分:0)

users = api.search_users('TimHortons', 1)
print(json.dumps(users[0]._json))

如果对象有_json,请使用json.dumps(users[0]._json)。用户只是一个例子。