JSON 数据解析器不允许使用单引号


JSON data parser doesn't allow single-quote

我正在使用 PHP 在我的数据库中从我的网站编写"注释"mysql_real_escape_string() 这将逃脱内容,以及单引号 (') 和双引号 (")。当我将这些评论加载回我的网站时,我正在使用 AJAX 加载它们,由 DIV 的滚动条触发,在到达 DIV 底部的每个滚动条上再加载 5 个。

一切正常,直到条目包含转义的'''(单引号)

var ajax_entry_items = JSON.parse(http.responseText);

JSON.parse函数给出错误

未捕获的语法错误:谷歌浏览器中的意外令牌。

我怎样才能在数据库中的评论中输入单引号和双引号,并将它们带回以在网站上显示?双引号和单引号返回转义,但由于某种原因,转义的单引号生成

意外令牌"错误。

谢谢。

不允许将

字符串括在单引号中,也不允许在 JSON 中转义单引号。必须转义双引号,不得转义单引号。

你应该用 json_encode() 对你从数据库中输出的数据进行编码:

echo json_encode($data);