2017-08-07 16 views
0
私はJavaScriptにPHPからいくつかのデータを使用する必要が

を生成します。私はJSONを使っています。私はPHPのjson_encode関数で配列をエンコードし、JavaScriptでデコードしたいと思います。印刷PHP JSONはJavaScriptに、配列をコード化し、それをデコードし、エラー

<?php 
$data = array(
"..."=>"...", 
..... 
); 
?> 

<script> 
var data = jQuery.parseJSON('<?php echo json_encode($data); ?>'); 
console.log(data); 
</script> 

問題は$dataはHTMLが含まれている場合、時には、JSONの構文解析に時間の大半をJavaScriptコンソールでエラーを生成しています。

jsonでエンコードされたコードをPHPで印刷するにはどうすればよいですか?

ありがとうございました!

+2

'var data = <?php echo json_encode($ data); ?>; ' – CBroe

答えて

4

JSONは、実際のJavaScriptオブジェクトの表記法では、変数に直接エコーすることができている、と解析を必要としません。

var data = <?= json_encode($data); ?>; 
2

エラーは通常、データはまたは(JSパーサーによって解析され、無効なJSONをレンダリングします)改行文字(途中で、あなたの文字列リテラルを終了)'が含まれているときから来ます。

あなたは明示的に(生成されたJSON上で実行する文字列置換機能付き)などの文字をエスケープすることでこれを回避できますが、それはに行く価値があるよりも、より多くの努力です。

JSONはJavaScriptのリテラル構文のサブセットであるので、あなただけの直接JavaScriptのように扱うことができます。あなたは、文字列でそれをラップして、JSデータ構造にその文字列を解析する必要はありません。

var data = <?php echo json_encode($data); ?> 
関連する問題