php javascript json解析转义字符

时间:2013-03-21 09:35:17

标签: php javascript json mustache

我目前有一个网页,需要使用javascript来解析php中的变量 我做这样的事情:

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

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

如何正确获取变量?

4 个答案:

答案 0 :(得分:1)

此代码不会返回错误

<?
$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>

答案 1 :(得分:1)

$a='b'"b"

转换为json_encode(注意引号)

只需写JSON.parse(<?php echo json_encode($notices) ?>);(删除')即可。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

你是一个额外的操作。如果你想把消息作为javascript变量,你可以直接得到像

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