json_decode
返回一个 PHP 数据结构。如果要将其序列化为 JavaScript 数据结构,则必须将其传递json_encode
(然后实际上echo
是它返回的字符串)。
请注意,json_encode
输出的 JavaScript 数据结构可以安全地注入<script>
HTML 文档中的元素。并非所有 JSON 都可以安全地执行此操作(PHP 添加了额外的转义序列,并将转换纯字符串、数字、空值等(它们本身不是合法的 JSON)。
请注意,arr
如果您要立即将其他内容分配给arr
.
另请注意,这'$json_object'
将为您提供一个以字符开头的字符串$
,然后是变量的名称。PHP 中的单引号字符串不会被插值。
var arr;
arr = <?php echo json_encode(json_decode($json_object,TRUE)); ?>;
另请注意,此 JSON:
{"product_id":"62","product_quantity":"65"}
将转换为 PHP关联数组或 JavaScript对象(不是数组)。
所以给定这个PHP:
<?php
$json_object = '{"product_id":"62","product_quantity":"65"}';
?>
<script>
var arr;
arr = <?php echo json_encode(json_decode($json_object,TRUE)); ?>;
alert(arr.product_id);
</script>
你得到这个输出:
<script>
var arr;
arr = {"product_id":"62","product_quantity":"65"};
alert(arr.product_id);
</script>
运行时会发出62警报。