我在变量$myArray
中存储了一个php嵌套数组,下面是将数组转储到浏览器后数组的样子(它不是一个完整的输出)。
<?php var_dump($myArray); ?>
输出:
array (size=4)
'id' => string '162' (length=3)
'content' => string 'Test content' (length=12)
'children' =>
array (size=16)
0 =>
array (size=4)
'id' => string '29208' (length=5)
'content' => string 'Test content 1' (length=14)
'children' =>
array (size=3)
...
1 =>
array (size=4)
'id' => string '29215' (length=5)
'content' => string 'Test content 2' (length=14)
'children' =>
array (size=1)
...
2 =>
array (size=3)
'id' => string '29220' (length=5)
'content' => string 'Test Content 3' (length=14)
从JavaScript读取变量数组,如下所示:
<script type="text/javascript">
var myVar = JSON.parse('<?php json_encode($myArray) ?>');
</script>
在控制台中返回以下错误
Uncaught SyntaxError: Unexpected end of input
调试代码时,我执行了以下操作:
创建了一个新变量并在其中存储了一些JSON数据,然后JSON将其解析为另一个变量,最后对输出进行了处理,结果很好。
<script type="text/javascript">
var x = '{"id":123,"content":"This is a test content"}';
var myVar = JSON.parse(x);
console.log(myVar);
</script>
输出是控制台中具有这些值的对象:
Object
content: "This is a test content"
id: 123
我做错了什么?
var myVar=
您需要回声出json对象。
<?php json_encode($myArray) ?>
到
<?php echo json_encode($myArray) ?>
这里有个小技巧给你解释一下
您可以简单地执行
因此,对于您的问题的答案(如果启用了速记打开标记),您可以使用此选项
var myVar=