2016-04-29 18 views
3

From the TWIG documentaion about json_encode() filterは、彼らが言う:小枝のjson_encodeは

{{ data|json_encode() }} 

は内部、小枝はPHP json_encodeを使用する:

json_encode

json_encodeフィルタ値のJSON表現を返します関数。

引数

オプション:私は何をしようとしているjson_encodeオプション

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

のビットマスクは、これらのオプションの複数を追加することです。

は、私が欲しい、私は

{{ array|json_encode(constant('JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES')) }} 
{{ array|json_encode(constant('JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES')) }} 
{{ array|json_encode(constant('JSON_PRETTY_PRINT', 'JSON_UNESCAPED_SLASHES')) }} 

を試してみましたが、しかし、それらのどれも動作しない JSON_PRETTY_PRINTJSON_UNESCAPED_SLASHES

。 TWIGのjson_encode()フィルターにはどのように2つのオプションを組み合わせることができますか?

TwigFiddle here

{% set array = {'xxx': "one", 'yyy': "two", 'path': "/hello/world" } %} 

{% autoescape false %} 
    {{ array|json_encode() }} 
    {{ array|json_encode(constant('JSON_PRETTY_PRINT')) }} 
    {{ array|json_encode(constant('JSON_UNESCAPED_SLASHES')) }} 
{% endautoescape %} 

所望の出力は、あなたが小枝でビットごとのOR演算( docs)用 b-or必要があると思わ

{ 
    "xxx": "one", 
    "yyy": "two", 
    "path": "/hello/world" 
} 

答えて

7

でなければなりません。

だから、このようなものは動作するはずです:

{{ array|json_encode(constant('JSON_PRETTY_PRINT') b-or constant('JSON_UNESCAPED_SLASHES')) }} 
関連する問題