使用python从ustream api解码json

时间:2011-12-07 08:14:19

标签: python json api decode simplejson

我正在尝试使用simplejson来解析来自ustream数据api的请求,并在解码时遇到此错误。我是python中json库的新手,所以我不知道从哪里开始寻求解决方案。

>>> import simplejson as json
>>> import requests as requests
>>> r = requests.get("http://api.ustream.tv/json/stream/popular/search/all?key=y
ourDevKey")
>>> in_json = None
>>> json.loads(in_json)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\simplejson-2.3.0-py2.7.egg\simplejson\__in
it__.py", line 413, in loads
    return _default_decoder.decode(s)
  File "C:\Python27\lib\site-packages\simplejson-2.3.0-py2.7.egg\simplejson\deco
der.py", line 402, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
TypeError: expected string or buffer

任何帮助?

1 个答案:

答案 0 :(得分:4)

这样做时:

>>> in_json = None
>>> json.loads(in_json)

你要求json解析None ...并且None不是JSon对象,这就是你问题的原因。

我认为做这样的事情会更好

>>> r = requests.get("http://api.ustream.tv/json/stream/popular/search/all?key=y
ourDevKey")
>>> json.loads(r.content)