如何在twig文件中使用php json_encode选项和json_encode twig函数

时间:2012-09-04 06:55:26

标签: php symfony twig

我正在尝试使用twig json_encode函数但是当我这样做时

    var packageDetails =  {{(packageDetails|json_encode)}};

和packageDetails是从控制器传递的数组数组

它给我错误说

    invalid property id 

因为" 所以我想使用逃生过滤器; 我该如何使用它?

3 个答案:

答案 0 :(得分:45)

仅仅是因为你没有用引号包装你的输出吗?

var variable = '{{{reference}}}';

更新:

解决问题的实际答案是根据评论

为标记添加| raw
var packageDetails =  {{(packageDetails|json_encode|raw)}};

答案 1 :(得分:38)

您可以通过以下方式添加选项:

{{ data|json_encode(constant('JSON_PRETTY_PRINT'))|raw }}

添加此项是因为它回答了标题中的问题,但听起来原始过滤器确实是您所寻找的。不过,其他人可能会觉得这很有用。

答案 2 :(得分:3)

对于任何与Blade / Laravel5.x有类似问题的人

var v = JSON.parse('{!! $v !!}');