Django:使用Javascript数组在模板中解析JSON

时间:2016-09-13 06:18:56

标签: javascript django parsing

在我的模板中,我传递数组中的参数: technicCategoriesjson_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的对象。

3 个答案:

答案 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)

好吧,我找不到解决方案。所以我决定提醒我这样做