web-dev-qa-db-fra.com

Comment utiliser les options php json_encode dans le fichier twig avec la fonction json_encode twig

J'essaie d'utiliser la fonction twig json_encode mais quand je le fais

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

et packageDetails est un tableau de tableau transmis par le contrôleur

Cela me donne une erreur en disant

    invalid property id 

en raison de " donc je veux utiliser un filtre d'échappement; comment l'utiliser

33
aditya

Est-ce simplement parce que vous ne mettez pas votre sortie entre guillemets?

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

Mise à jour:

La réponse réelle pour résoudre la question a été d'ajouter | raw à la balise selon les commentaires

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

Vous pouvez ajouter les options de la manière suivante:

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

Ajouter cela parce qu'il répond à la question de votre titre, mais il semble que le filtre brut était vraiment ce que vous cherchiez. Pourtant, d'autres peuvent trouver cela utile.

40
Tac Tacelosky

Pour tous ceux qui ont un problème similaire avec Blade/Laravel5.x

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