javascript / php单引号

时间:2012-06-22 15:09:31

标签: php javascript json quote

我正在尝试这个:

<?php $php_array = array ('var1' => "l'ape"); ?>

<script type="text/javascript">
var my_javascript_object = jQuery.parseJSON('<?php echo json_encode($php_array); ?>');
</script>

我收到此错误“Uncaught SyntaxError:Unexpected identifier”。 问题是$ php_array中var1值的单引号。

这不起作用

 <?php $php_array = array ('var1' => "l\'ape"); ?>

2 个答案:

答案 0 :(得分:3)

在这种情况下,您无需使用JSON.parse解析。只需将其用作对象文字而不是Javascript字符串:

var my_javascript_object = <?php echo json_encode($php_array); ?>;

答案 1 :(得分:2)

问题是您尝试将JSON放在JavaScript字符串中。

请改为:

var my_js_obj = <?php echo json_encode($php_array); ?>;

JSON字符串是一个有效的JavaScript表达式,您可以将其直接放在JS代码中。


如果你真的想创建一个包含JSON的字符串(你没有!),你可以这样做:

var my_json_string = <?php echo json_encode(json_encode($php_array)); ?>;
var my_js_obj = $.parseJSON(my_json_string);