JSON字符串在小枝模板中传递错误


JSON String passed incorrectly in Twig Template

我有两个来自控制器的数组,我将它们传递给我的小枝模板。这个小树枝模板然后传递这些值到我的javascript文件,但他们如何结束那里是不正确的。

//Controller
return $app['twig']->render({template_name}, array(
    'cities' => $this->cities,
   ));

在我的twig模板中,我有下面的代码片段:

var cities = "{{ cities|json_encode(constant('JSON_PRETTY_PRINT')) }}";

我遵循了Sensio实验室文档的建议,但这似乎不适合我。

最后得到一个json字符串,如下所示:
{"B01":["Gaborone"]...}

JSON_PRETTY_PRINT也没有定义。如果去掉这个常数,误差就消失了。对我来说最重要的是要有正确的json格式,我已经尝试了所有我在网上得到的建议。

关于如何让我的json正确输出的任何建议?

我认为你应该使用原始过滤器,如:

var cities = "{{ cities|json_encode(constant('JSON_PRETTY_PRINT'))|raw }}";