Home » Php » symfony – How to use php json_encode options in twig file with json_encode twig function

symfony – How to use php json_encode options in twig file with json_encode twig function

Posted by: admin April 23, 2020 Leave a comment

Questions:

I am trying to use twig json_encode function but when I do this

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

and packageDetails is an array of array passed from controller

It gives me error saying

    invalid property id 

because of "
so I want to use escape filter;
how do I use it?

How to&Answers:

Is it simply because you are not wrapping your output in quotes?

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

Update:

The actual answer to solve the question was adding |raw to the tag as per comments

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

Answer:

You can add the options in the following way:

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

Adding this because it answers the question in your title, but it sounds like the raw filter was really what you were looking for. Still, others may find this useful.

Answer:

For anyone, who has similar problem with Blade / Laravel5.x

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