簡體   English   中英

將PHP JSON編碼的數組打印到JavaScript並對其進行解碼,會產生錯誤

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM