无法从PHP json_encode解析JS中的JSON对象

Pri*_*alj 2 javascript php parameters json

我有一个PHP数组,我用_json_encode(..)_打包到JSON对象.然后我将它作为参数发送给JS函数.当我想用Eval(..)解析Javascript中的对象时,没有任何反应(幕后有错误我猜).可能有什么不对?
码:

<script type="text/javascript">
    function testFun(inArr) {
      var obj=eval('('+inArr+')');
      alert(obj.m); //alert(obj) also doesnt work
    }
</script>  


//PHP
$spola_array = array('m' => 1, 'z' => 2);
$json_obj=json_encode($spola_array);
echo '<script type="text/javascript">testFun('.$json_obj.');</script>';
Run Code Online (Sandbox Code Playgroud)

Cor*_*bin 5

它已被解析,因为您将其输出为对象文字而不是字符串.这将是:

<script type="text/javascript">testFun({m: 1, z: 2});</script>
Run Code Online (Sandbox Code Playgroud)

所以在你的功能中,它只是:

alert(inArr.m) //1
Run Code Online (Sandbox Code Playgroud)

如果它是一个字符串,你只需要解析它:

<script type="text/javascript">testFun('{m: 1, z: 2}');</script>
Run Code Online (Sandbox Code Playgroud)