php数组到javascript使用json_encode()

时间:2014-07-01 12:04:52

标签: javascript php arrays json symfony

我有一个php数组$演示文稿,我试图将它分配给JavasScript变量。当我使用json_encode时,我得到了这个值:

{"image":"\/ara\/web\/uploads\/images\/slide\/34.jpeg","sound":"\/ara\/web\/uploads\/images\/slide\/34.mpga","content":"sentence"}

你看到后退和正斜杠吗?

当我尝试将变量分配给javascript时,这会变得最糟糕:我明白了:

 "books":[{"image":"\/ara\/web\/uploads\/images\/slide\/32.jpeg"

这是代码:

PHP:

$presentation_slide = json_encode($presentation_slides)

的javascript:

<script>
    var presentation = {{ presentation_slides }}
</script>

我正在使用sumfony2

3 个答案:

答案 0 :(得分:1)

也许你应该使用JSON_UNESCAPED_SLASHES选项:

http://php.net/manual/en/function.json-encode.php

$presentation = json_encode($presentation_slides, JSON_UNESCAPED_SLASHES);

答案 1 :(得分:1)

json_encoding函数有许多可以传递给它的标志,这使得函数能够解析特定的字符集。以下调用应该解决您遇到的问题

json_encode($presentation_slides, JSON_UNESCAPED_SLASHES | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP );

答案 2 :(得分:0)

$presentation = json_encode($presentation_slides, JSON_UNESCAPED_SLASHES);