php json_encode & jquery parseJSON 单引号问题
我搜索并阅读了大多数相关主题,但它们不是我想要的。
我有一个带有PHP函数的JSON enocded字符串:json_encode
{"casts":["Matthew Modine","Adam Baldwin","Vincent D'Onofrio"],"year":1987}
我正在使用jQuery将值也放在适当的字段中,在测试的情况下,我做了以下操作:
<script>
var obj = jQuery.parseJSON('<?=$data?>');
console.log(obj);
</script>
假设$data是这样的:
$data =
<<<END
{"casts":["Matthew Modine","Adam Baldwin","Vincent D'Onofrio"],"year":1987}
END;
在这种情况下,谷歌浏览器控制台会产生什么:
Uncaught SyntaxError: Unexpected identifier
但是,当我在JSON编码字符串中进行更改时 - 将反斜杠添加到单引号中:
{"casts":["Matthew Modine","Adam Baldwin","Vincent D\'Onofrio"],"year":1987}
控制台输出正常:
Object {casts: Array[3], year: 1987}
casts: Array[3]
year: 1987
问题:控制台中的此错误是预期的吗?我认为逃避或更换会很脏!'
\'
更新
实际上,$data值来自json_encode($var),
$var是数组!
$data = json_encode($var);