[英]json_ encode - JSON.parse() combination, work well in Firefox but fail in other browsers
我正在使用json_encode(PHP)和JSON.parser(來自json.org的Javascript)的組合來將JSON對象從PHP傳遞到Javascript,JSON對象可能具有雙引號和雙引號,所以我正在使用addslashes()函數在PHP中。 這種組合在Firefox中效果很好,但在其他瀏覽器(如Safari,Chrome或Internet Explorer)中效果不佳。 這是代碼:
<?php
$json =array('n' => count($arrayEx), 'items' => array());
foreach($arrayEx as $item)
{
$json['items'][]=array( 'property1' => addslashes($item['property1']),
'property2' =>addslashes($item['property2'])
);
}
$json_string = json_encode($json);
?>
<script>
var json_string= '<? echo $json_string; ?>';
var json_object = JSON.parse(json_string); //Fail in this line
</script>
失敗,錯誤消息“字符串文字未結束”。
謝謝
忽略引號,它應該可以工作:
var json_string = <?php echo $json_string; ?>;
json_encode
返回的字符串已經是有效的JavaScript表達式,因此不需要任何進一步的聲明。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.