PHP javascript json解析转义字符


php javascript json parse escape characters

我目前有一个网页,需要使用javascript从php解析变量。
我是这样做的:

data.notices = JSON.parse('<?php echo json_encode($notices) ?>');

但是,当$notice变量中有单引号或双引号时,javascript控制台将返回错误。

我怎样才能得到正确的变量?

此代码不返回错误

<?
$notices = array('sad'=>'asd as" asd', 'asd"sdf '=>'asdasd" '' asd ads');
?>
<script>
data = new Object();
data.notices = JSON.parse('<?php echo addslashes(json_encode($notices)) ?>');
</script>

$a='b'将被json_encode转换为"b"(注意引号)

只写JSON.parse(<?php echo json_encode($notices) ?>);(去掉')就可以了

我发现这是由于在插入数据库之前没有转义字符引起的问题。

您是一个额外的操作。如果你想让message作为javascript变量你可以直接输入

data.notices = <?php echo json_encode($notices) ?>;
// and access like this
// data.notices[0] or data.notices['alert']