如何使用php解析json与jQuery解析

时间:2014-10-30 10:41:05

标签: php jquery json

我有这个PHP代码,动态构建一个JSON字符串并写入一个javascript字符串:

<?
    $s = json_encode(array("id" => "1", "name" => 'myn"ame'));  
?>
<script>
    <?echo ("var js = '".$s."';");?>
    var obj = $.parseJSON( js );
</script>

JSON字符串看起来很好(“似乎被转义为ok):

    var js = '{"id":"1","name":"myn\"ame"}';    

但$ .parsesJSON失败,似乎想要:

    var js = '{"id":"1","name":"myn\\"ame"}';   

那么我应该如何正确地逃避这种情况呢? (显然我想满足所有控制角色)

1 个答案:

答案 0 :(得分:0)

json_encode会将PHP字符串转义为JavaScript字符串。

<?php
    $json = json_encode(array("id" => "1", "name" => 'myn"ame'));
    $js_string = json_encode($json);
?>
<script>
    var json = <?php echo $js_string; ?>;
    var obj = $.parseJSON(json);
</script>

但是,当你可以首先使用原始JSON作为JavaScript文字时,生成一串JSON是毫无意义的。

<?php
     $json = json_encode(array("id" => "1", "name" => 'myn"ame'));
?>
<script>
    var obj = <?php echo $json; ?>;
</script>