2016-04-25 93 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