[英]JSON parse and single quote
我有PHP傳遞的JSON數據,我需要用Javascript解析它。
item = JSON.parse('<?=json_encode($item_localized);?>');
麻煩了 我在$ item_localized中有一個包含單引號的字符串。 Jsonlint說它是有效的json。 因為我使用'<?=json_encode($item_localized);?>'
-我收到消息Uncaught SyntaxError:意外的標識符。 我不能使用雙引號。 我嘗試用\\'代替單引號,但是它不起作用。
json_encode
將生成JSON文本。
JSON.parse
需要接收一個包含JSON文本的字符串 。
您確實需要用引號將字符串引起來,但是不能簡單地在字符串周圍加上'
,因為這樣不會使字符串中任何具有特殊含義的字符轉義(例如其他'
字符)。
如果將字符串放入json_encode
,則會得到一個JSON文本,該文本由另一個JSON文本的字符串表示形式組成。 由於JSON是JS子對象,因此該字符串將是JS安全的:
item = JSON.parse(<?php echo json_encode(json_encode($item_localized)); ?>);
但是,這很愚蠢。 由於JSON是JavaScript的子集,因此您可以直接將其用作JavaScript文字。
item = <?php echo json_encode($item_localized); ?>;
那么item = <?=json_encode($item_localized);?>;
?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.