import urllib2
response = urllib2.urlopen('http://api.xyz.com')
html = response.read()
{
"responseHeader":{
"status":0,
"QTime":18,
"params":{
"indent":"on",
"q":"",
"wt":"json",}},
"response":{"numFound":7984,"start":0,"maxScore":1.0,"docs":[
{
"id":"21",
"first_name":"anurag"
},
{
"id":"31",
"first_name":"abhishek"
}
]
}
问题是:这个url会返回json输出。我想读取该json文件,但它显示错误:字符串索引必须是整数,而不是str。
答案 0 :(得分:2)
您需要使用json
library(包含在Python中)将JSON响应转换为python结构:
import json
import urllib2
response = urllib2.urlopen('http://api.xyz.com')
data = json.load(response) # note, no `.read()`, the library handles that
print data['response']