我在 Django 視圖中轉儲 JSON,然后在 JS 中決議 JSON 以獲取資料。
我的 view.py (Django)
ibms = []
for i in range(2, 5):
ibm = Mapa(i, wsMapa)
ibms.append(ibm.__dict__)
ibms = json.dumps(ibms)
return render(request, 'mapas/index.html', {'ibms': ibms})
Django 模板中的ibm變數輸出為:
[{"numeroIbm": "AUTO P"}, {"numeroIbm": "PTB"}, {"numeroIbm": "FAROL"}]
我的 index.html(里面的 JS)
{{ ibms|json_script:"ibms" }}
<script>
const mydata = JSON.parse(document.getElementById("ibms").textContent);
const mydata2 = JSON.parse(mydata);
</script>
問題是:我必須JSON.parse加倍才能獲得 JS 物件。變數mydata, 盡管JSON.parse, 是字串型別。我只有JSON.parse在第二次(mydata2)時才得到最終結果。
請問這是怎么回事?
提前謝謝!
uj5u.com熱心網友回復:
您不應該將其轉儲到視圖中,因此:
ibms = [Mapa(i, wsMapa).__dict__ for i in range(2, 5)]
return render(request, 'mapas/index.html', {'ibms': ibms})
并因此將其決議為:
{{ ibms|json_script:"ibms" }}
<script>
const mydata = JSON.parse(document.getElementById("ibms").textContent);
// no second parse
</script>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/429790.html
標籤:javascript json django
上一篇:從JSON檔案c#中洗掉物件
