Если вы используете Django или Jinja2, вы, вероятно, сталкивались с этой проблемой раньше.У меня есть строка JSON, которая выглядит следующим образом:
{
"data":{
"name":"parent",
"children":[
{
"name":"child_a",
"fav_colors":[
"blue",
"red"
]
},
{
"name":"child_b",
"fav_colors":[
"yellow",
"pink"
]
}
]
}
}
Теперь я хочу передать это моему шаблону Jinja2:
j = json.loads('<the above json here>')
self.render_response('my_template.html', j)
... и повторить это так:
<select>
{% for p in data recursive %}
<option disabled>{{ p.name }}</option>
{% for c in p.children %}
<option value="{{ c.fav_colors|safe }}">{{ c.name }}</option>
{% endfor %}
{% endfor %}
</select>
Вот где у меня проблема: все работает, за исключением того, что Jinja2 выводит значения в кодировке Unicode для c.fav_colors.Мне нужен c.fav_colors в качестве допустимого массива javascript, чтобы я мог получить к нему доступ из javascript.Как я могу заставить Джинджу напечатать это значение в виде текста ascii, например: ['blue','red']
вместо [u'blue', u'red']
?