2016-04-25 7 views
1

私はJSONファイルを取得し、テーブルのデータをHTMLで表示したいところがあります。私は今エラーが発生します:TypeError:文字列インデックスは、行内にの整数でなければなりません。 'status':item ['status'] ,.外側の角かっこの問題は、jsonや何が欠けているのか?PythonでDjangoで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' '' version "'、 '' treesize ''、' '" 'という3つの要素を持つ辞書です。 –

+1

'json.load(json)'は意味をなさない。あなたの入力は本当に変数 'json'に格納されていますか? –

+0

どのDisplayNameが言ったのですか? 'json = urllib2.urlopen(url)'は 'json'という名前をURLハンドルにバインドします。したがって、' json'モジュールを参照しません。 –

答えて

2

私はあなたが誤ってJSONの内容が間違ってコピーされたかどうかわかりませんが、あなたは何をすべきか:

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

はい、これは私が欠けていたものです。たぶん私はちょうど混乱していた、配列は名前を持っていない。 – MMakela

+0

これを修正するために、これを追加しました。これは、views.pyの元のコードにデータ[""]を追加したときに機能します。 。 – MMakela

+0

または、リストの理解で:) – AKS

関連する問題