首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python urllib2:从url接收JSON响应

Python urllib2:从url接收JSON响应
EN

Stack Overflow用户
提问于 2012-12-18 04:46:07
回答 9查看 168.5K关注 0票数 94

我正在尝试使用Python获取URL,得到的响应是JSON。但是,当我运行

代码语言:javascript
复制
import urllib2
response = urllib2.urlopen('https://api.instagram.com/v1/tags/pizza/media/XXXXXX')
html=response.read()
print html

html的类型是str,而我期望的是JSON。有没有办法将响应捕获为JSON或python字典而不是str。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2012-12-18 04:47:46

如果URL返回的是有效的JSON编码数据,则使用json library对其进行解码:

代码语言:javascript
复制
import urllib2
import json

response = urllib2.urlopen('https://api.instagram.com/v1/tags/pizza/media/XXXXXX')
data = json.load(response)   
print data
票数 186
EN

Stack Overflow用户

发布于 2014-03-20 18:47:05

代码语言:javascript
复制
import json
import urllib

url = 'http://example.com/file.json'
r = urllib.request.urlopen(url)
data = json.loads(r.read().decode(r.info().get_param('charset') or 'utf-8'))
print(data)

urllib,用于Python3.4

由r.info()返回的HTTPMessage

票数 39
EN

Stack Overflow用户

发布于 2017-03-15 23:01:33

代码语言:javascript
复制
"""
Return JSON to webpage
Adding to wonderful answer by @Sanal
For Django 3.4
Adding a working url that returns a json (Source: http://www.jsontest.com/#echo)
"""

import json
import urllib

url = 'http://echo.jsontest.com/insert-key-here/insert-value-here/key/value'
respons = urllib.request.urlopen(url)
data = json.loads(respons.read().decode(respons.info().get_param('charset') or 'utf-8'))
return HttpResponse(json.dumps(data), content_type="application/json")
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13921910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档