【问题标题】:Invalid JSON objects from Twitter API in PythonPython 中来自 Twitter API 的无效 JSON 对象
【发布时间】:2016-02-01 13:04:08
【问题描述】:

我正在尝试从 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 json twitter


    【解决方案1】:

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

    这种表示法只是 python 显示 unicode 字符串的方式。

    这可能更清楚:

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

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

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

    【讨论】:

    • 谢谢,这个链接帮我解决了问题
    猜你喜欢
    • 2017-02-10
    • 2015-11-09
    • 2015-10-05
    • 2021-06-06
    • 1970-01-01
    • 2017-01-22
    • 2011-05-11
    • 1970-01-01
    • 2021-06-01
    相关资源
    最近更新 更多