Преобразование объекта состояния Tweepy в JSON

Я использую Tweepy для загрузки твитов. У меня есть программа, которая затем записывает фактический объект Status в файл в текстовой форме. Как перевести это в JSON или импортировать этот объект обратно в Python? Я попытался использовать библиотеку JSON для кодирования, но Status не является сериализуемым JSON.

Ответ 1

Объект Status самого tweepy не является сериализуемым JSON, но имеет свойство _json, которое содержит сериализуемые данные ответа JSON. Например:

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

Ответ 2

Лучший способ сделать это - использовать tweepy parser. Он не документирован, но, по крайней мере, он не требует использования частного метода.

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-объектом.