Я пытаюсь использовать функцию twig json_encode, но когда я это делаю
var packageDetails = {{(packageDetails|json_encode)}};
и packageDetails – массив массива, переданный от контроллера
Это дает мне ошибку, говоря
invalid property id
из-за "
поэтому я хочу использовать escape-фильтр; как его использовать?
Это просто потому, что вы не завершаете вывод в кавычки?
var variable = '{{{reference}}}';
Обновить:
Фактический ответ для решения вопроса заключался в добавлении | raw в тег в соответствии с комментариями
var packageDetails = {{(packageDetails|json_encode|raw)}};
Вы можете добавить параметры следующим образом:
{{ data|json_encode(constant('JSON_PRETTY_PRINT'))|raw }}
Добавляем это, потому что он отвечает на вопрос в вашем названии, но похоже, что сырой фильтр действительно был тем, что вы искали. Тем не менее, другие могут найти это полезным.
Для всех, у кого есть аналогичная проблема с Blade / Laravel5.x
var v = JSON.parse('{!! $v !!}');