如何在json中获取urllib2响应

时间:2014-09-22 23:32:31

标签: python json

我有以下代码:

import urllib2
response = urllib2.urlopen('http://python.org/')

json中获得此功能的最简单方法是什么?

2 个答案:

答案 0 :(得分:3)

http://python.org/”的输出未返回json文档。

您可以按以下方式检查输出类型:

>>> import urllib2
>>> response = urllib2.urlopen('http://python.org/')
>>> response.headers.type
'text/html'
>>>

好的,让我们看一下json response api的一个例子:

>>> response = urllib2.urlopen('http://api.icndb.com/jokes/random')
>>> response.headers.type
'application/json'
>>>

因此,在头文件类型中,您可以看到'application / json',这意味着响应包含json文档。

>>> import json
>>> json_docs = json.load(response)
>>> print json_docs
{u'type': u'success', u'value': {u'joke': u'How many Chuck Norris require to screw a light     bulb? None, he will screw it all.', u'id': 562, u'categories': []}}
>>> 

答案 1 :(得分:1)

给定一个响应对象,你会做

jsondata = json.load(response)

当然,您将从实际为JSON数据的URL中提取数据(http://python.org/不是JSON)。