[英]Print PHP JSON encoded array, to JavaScript and decode it, produces errors
我必须使用从PHP到JavaScript的一些数据。 我为此使用JSON。 我使用PHP的json_encode
函数对数组进行编码,然后使用JavaScript对其进行解码。
<?php
$data = array(
"..."=>"...",
.....
);
?>
<script>
var data = jQuery.parseJSON('<?php echo json_encode($data); ?>');
console.log(data);
</script>
问题有时是在解析JSON时在JavaScript控制台中产生错误,多数情况下$data
包含HTML。
我怎样才能用PHP动态地在javascript中打印json编码的代码?
谢谢!
JSON实际上是JavaScript对象表示法,可以直接在变量中回显,并且不需要解析。
var data = <?= json_encode($data); ?>;
错误通常是由于数据包含'
(过早终止了字符串文字)或换行符(由JS解析器解析而使JSON无效)引起的。
您可以通过明确地转义此类字符(使用在生成的JSON上运行的字符串替换函数)来解决此问题,但这比值得付出的努力还要多。
由于JSON是JavaScript文字语法的子集,因此您可以直接将其视为JavaScript。 您无需将其包装在字符串中,然后将该字符串解析为JS数据结构。
var data = <?php echo json_encode($data); ?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.