情况如下:
我的程序接受用户在表单中输入的输入,并使用 PHP 的 PDO 和 Prepared Statements 将其保存在 MYSQL 数据库中。
数据通过 AJAX 调用检索并使用 json_encode 编码为 JSON,如下所示:
echo "<script> var jsonData = '". json_encode($profileData) . "';</script>";
然后使用JQuery解析:
var Profile = jQuery.parseJSON(jsonData);
这工作正常,直到用户输入一个'
字符。
即如果用户输入单词
我是
它将像这样被转义并存储在数据库中:I\'m
从数据库中检索后,JSON 编码的字符串将如下所示:
<script> var jsonData = '{"fname":"Daniel","about":"i\\'m a nerd"}';</script>
虽然'
被转义,但它似乎破坏了 JSON。
我见过有人发布查找/替换样式的解决方法,但我更愿意避免这种方法。
当然有一些方法可以处理这个问题,或者我是否以某种方式错误地初始化了 JSON 对象?
非常感谢任何帮助,如果需要更多信息,请询问:)