在我的模板中,我传递数组中的参数:
technicCategories
是json_serializer.serialize
的数组
所以我不能做这样的事情:var technicCategories = '{{ technicCategories|escapejs }}';
因为它是数组而我尝试了它并且它给了我错误:“JSON Parse error: Unexpected identifier "u"
”,我的数组看起来像:var technicCategories = '[u\u0027[{\u0022model\u0022: \u0022automarket.technicandallf...
。所以我决定这样做:
for (var i = 0; i < {{ index }}; i++){
var technicCategories = '{{ technicCategories.i|escapejs }}';
technicCategories = JSON.parse(technicCategories);
console.log(technicCategories);
}
但是有一个问题:SyntaxError: JSON Parse error: Unexpected EOF
。但是,如果我这样做:var technicCategories = '{{ technicCategories.0|escapejs }}';
一切正常但只给我索引0的对象。
答案 0 :(得分:0)
什么是技术类别?你为什么只想把列表中的第一个值放入变量?
试试这个var technicCategories = '{{ technicCategories|safe }}';
应该这样做,在technicCategories变量中,会有一个元素数组。
答案 1 :(得分:0)
您需要序列化整个数据,而不仅仅是列表中的元素。因此,创建一个包含要序列化的所有元素的列表,然后序列化列表。
如果由于某种原因无法做到这一点,您可以遍历模板中的列表。
var technicCategories = '[{% for element in technicCategories %}{{element|safe}}{% if not forloop.last %},{% endif %}{% endfor %}]';
但我真的推荐第一种方法。
答案 2 :(得分:0)
好吧,我找不到解决方案。所以我决定提醒我这样做