我正在尝试从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对象的最佳方法是什么? 谢谢。
答案 0 :(得分:1)
我假设你正在使用python 2.X
这种表示法只是python显示unicode字符串的方式。
这可能更清楚:
>>> type(u'hello world')
<type 'unicode'>
>>> type('hello world')
<type 'str'>
如果你在python中解析对象并在python中进行后期处理,这应该不是问题。但是,如果你正在复制并将其粘贴到其他内容中,那可能会让你烦恼。
不幸的是,json模块没有一个很好的内置方式来为你提供字符串而不是json,但是this stackoverflow answer可能有帮助