我有这个python代码,它获取json并解析它:
from django.http import HttpResponse
import json, requests
def find(request):
context = {}
platformUrl = 'https://www.igdb.com/api/v1/platforms'
platformReq = requests.get(platformUrl, headers={'Authorization': 'Token token="1234"'})
platformData = json.loads(platformReq.text)
platformList = platformData['platforms']
print platformList
它使用print语句输出:
[{u'slug':u'saturn',u'id':32,u'name':u'Sega Saturn'},{u'slug':u'mac',u'id': 14,u'name':u'Mac'},{u'slug':u'vc',u'id':47,u'name':u'Virtual Console(Nintendo)'}
我想将这些数据传递给javascript,并将json中的ID和名称放入此javascript中。 (selectize.js)这可能需要某种类型的for循环,可能是javascript,甚至是djangos?:
options: [
{id: 1, title: 'Spectrometer'},
{id: 2, title: 'Star Chart'},
{id: 3, title: 'Electrical Tape'}
]
由于
修改 按照@ satoru的链接,我查看了它,并将我的代码更新为:
from django.http import HttpResponse
import json, requests
def find(request):
context = {}
platformUrl = 'https://www.igdb.com/api/v1/platforms'
platformReq = requests.get(platformUrl, headers={'Authorization': 'Token token="1234"'})
platformList = json.dumps(platformData)
print platformList
return render_to_response('find.html',{'platformList':platformList})
现在输出:
{“platforms”:[{“slug”:“saturn”,“id”:32,“name”:“Sega Saturn”},{“slug”:“mac”,“id”:14,“名称“:”Mac“},{”slug“:”vc“,”id“:47,”name“:”虚拟控制台(Nintendo)“}
我如何将其传递给javascript?
答案 0 :(得分:1)
如果API已经返回JSON编码的响应,则可以使用platformReq.text
。将其传递给render_to_response
后,您可以访问模板中的JSON编码字符串。
现在,您可以将Javascript模块设计为可以使用对象进行配置,例如:
<script src="my_module.js"></script>
<script>
MyModule.initialize({{ json_encoded }})
</script>