python - 将 tweepy JSON 对象转换为字典

标签 python tweepy

我想将 Tweepy api.trends_location(woeid) 调用的结果转换为字典(或字典的字典),这样我就可以使用这些值(真的,我想以“名称”值的字典结束)。 Tweepy 文档说结果是“一个 JSON 对象”(see here),但是当我检索它时,type(retrieved) 的计算结果为 list。果然,retrievedlen 为 1,retrieved[0] 给了我一个项目:
[{'trends': [{'url': 'http://search.twitter.com/search?q=%23questionsidontlike', 'query': '%23questionsidontlike', 'events': None, ' promoted_content': None, 'name': '#questionsidontlike'}, ], (更多相同), 'created_at': '2011-01-31T22:39:16Z', 'as_of': '2011-01-31T22 :47:47Z', 'locations': [{'woeid': 23424977, 'name': 'United States'}]}]

我可以调用 json.dumps,它会给出格式良好的表示,但这对我没有多大用处,json.loads 给我:__init__() 得到了一个意外的关键字参数 'sort_keys'

我应该如何进行?

完整代码链接:https://gist.github.com/805129

最佳答案

好的,这应该可以了!它甚至经过测试(感谢您发布附加信息)。

>>> names = [trend["name"] for trend in retrieved[0]["trends"]]
>>> names
['#wishuwould', '#questionsidontlike', '#februarywish', 'Purp & Patron', 'Egyptians', 'Kool Herc', 'American Pie', 'Judge Vinson', 'Eureka Nutt', 'Eddie House']

我认为大部分混淆来自将输出称为 JSON 对象的文档,这与需要使用 json 模块转换的 JSON 字符串不同。

这是如何工作的:retrieved 是一个包含单个项目的列表,它是包含 trends 键的字典,所以 retrieved[0][ "trends"] 是趋势字典列表,其中每个趋势字典包含您感兴趣的 name 键。

关于python - 将 tweepy JSON 对象转换为字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4857235/

相关文章:

Python - 从 JSON 创建字典时遇到问题

python - imshow 和 cartopy 中的图像交叉日期线问题

python - 重复插入数据库表

python - Scrapyd 错误 : exceptions. AttributeError: 'dict' object has no attribute 'fields'

javascript - 如何在 django 框架中将不同用户的多条推文嵌入到 HTML 中?

python - 如何列出所有关注者及其关注日期?

python - 如何在 Mac 上的 IPython 终端中的行之间移动?

python - 我想在给定的虚拟函数中更新我的函数 interpolate()

python - 如何更改 Twitter API 上的身份验证类型

python - 由moviepy生成的mp4用tweepy没有声音