php javascript json解析转义字符

I currently have a webpage that need to use javascript to parse variables from php.
I do things like this:

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

However, when there is single or double quotes in the $notices variable, javascript console return errors.

How can I get the variables correctly?

This code doesn`t return error

<?
$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' will be converted to "b"(note the quotation mark) by json_encode

just write JSON.parse(<?php echo json_encode($notices) ?>);(remove ') will be ok.

I found that it is the problem caused by the fact that I did not escape the characters before inserting to database.

You are one extra operation. If you want message as javascript variable you can directly get like

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