python - Python 中 Twitter API 的无效 JSON 对象

标签 python json twitter

我正在尝试从 Twitter API 获取数据。以下是Python代码(我使用TwitterAPI)

api = TwitterAPI(consumer_key, consumer_secret, access_token_key, access_token_secret)
r = api.request('search/tweets', {'q':'pizza'})
for item in r:
        print(item)

代码有效并打印结果。但是,它们不是有效的 JSON 对象。实际上,它包含额外的“u”字符,例如:

{u'contributors': None,
 u'truncated': False,
 u'text': u'RT
 @pizzaminati: Your smile.\nYour laugh.\nYour crust.\nYour sauce.\nYour
 cheese.\nYour toppings.\nYour jokes.\nYour weird faces.\nYour
 teasing.\nPi\u2026'...

我曾使用 Objective-C 中的 Twitter 库进行工作,但它从未响应过类似的奇怪结果。你能告诉我如何获取有效的 JSON 对象(我也尝试过 Twython 并得到相同的结果)?在 Python 中解析 JSON 对象的最佳方法是什么? 谢谢。

最佳答案

我假设您使用的是 python 2.X

这个表示法只是Python显示unicode字符串的方式。

这可能更清楚:

>>> type(u'hello world')
<type 'unicode'>
>>> type('hello world')
<type 'str'>

如果您在 python 中解析对象并在 python 中进行后处理,这应该不是问题。但如果您将其复制并粘贴到其他内容中,可能会打扰您。

不幸的是,json 模块没有一个很好的内置方法来为您提供字符串而不是 json,但是 this stackoverflow answer可能有帮助

关于python - Python 中 Twitter API 的无效 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33464204/

相关文章:

python - 如何使用 matplotlib 用 unicode 文本注释热图?

html - 如何修改 http ://twitter. com/*/following 的 html/css 以使用 100% 的页面宽度?

java - 如何在java中使用bufferedReader获取json对象中的特定元素

java - 在 Java 中处理字符串时如何避免 Twitter 表情符号字符

twitter - 我应该使用哪个应用程序网站来测试 Twitter 应用程序?

python - 重复 numpy 数组

c++ - g++ 与 python.h,如何编译

python - 将 Mongodb 导入 CSV - 删除重复项

java - Spring 启动 : no String-argument constructor/factory method to deserialize from String value

java - 在 Groovy 中解析 JSON 数组