我必须使用从PHP到JavaScript的一些数据。我正在使用JSON。我使用PHP的def __init__(self, n):
'''
Initialize a Hand.
n: integer, the size of the hand.
'''
self.hand = {}
# ... and the rest
函数对数组进行编码,然后我想用JavaScript解码它。
json_encode
问题有时会在解析JSON时在javascript控制台中产生错误,大多数情况下<?php
$data = array(
"..."=>"...",
.....
);
?>
<script>
var data = jQuery.parseJSON('<?php echo json_encode($data); ?>');
console.log(data);
</script>
包含HTML。
如何在javascript中打印json编码的代码,与PHP一起打印?
谢谢!
答案 0 :(得分:4)
JSON实际上是JavaScript Object Notation,它可以直接在变量中回显,并且不需要解析。
var data = <?= json_encode($data); ?>;
答案 1 :(得分:2)
错误通常来自数据包含'
(过早终止字符串文字)或新行字符(由JS解析器解析并呈现JSON无效)。
你可以通过显式转义这些字符来解决这个问题(在生成的JSON上运行一个字符串替换函数),但这比付出更多努力。
由于JSON是JavaScript文字语法的子集,因此您可以直接将其视为JavaScript。您不需要将其包装在字符串中,然后将该字符串解析为JS数据结构。
var data = <?php echo json_encode($data); ?>