[英]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.