2016-04-25 108 views
1

我有查询在哪里获取JSON文件并希望以HTML格式显示表中的数据。我现在得到错误:TypeError:字符串索引必须是整数 in:'status':item ['status'] ,.外括号是否存在问题,因为它们在json中缺少或什么?在Django中用Python解析JSON文件

views.py代码

json_obj = urllib2.urlopen(url) 
data = json.load(json_obj) 
results = [] 
for item in data: 
    results.append({ 
     'status': item['status'], 
     'device': item['device'], 
     }) 
return render(request, 'index/index.html', {'objects_list': results}) 

JSON文件:

{ 
    “version": “3.62”, 
    "treesize": 2, 
    "": [ 
    { 
     “status”: “up”, 
     "device": “someDeviceName1”, 
    } 
    { 
     “status”: “up”, 
     "device": “someDeviceName2”, 
    }] 
} 
+0

'data'是包含三个元素的字典:''版本'',''树木大小''和''“''。 – 2016-04-25 07:33:10

+1

'json.load(json)'没有任何意义。你的输入是否存储在变量'json'中? – 2016-04-25 07:33:49

+0

什么DisplayName说。 'json = urllib2.urlopen(url)'将名称'json'绑定到URL句柄,所以它不再引用'json'模块。 –

回答

2

我不知道你是否不小心复制了JSON内容是不是错了,但你应该做的是:

>>> for item in data[""]: 
...  results.append({ ... 
+0

是的,这是我错过了。也许我只是感到困惑,数组没有名字。 – MMakela

+0

将read()添加到响应给我一个错误:AttributeError:'str'object has no attribute'read' – MMakela

+0

当我在views.py中添加data [“”]到我的原始代码时, 。 – MMakela