Выполняя запросы на мой сервер, используя jQuery.post()
, и мой сервер возвращает объекты JSON (например, { "var": "value", ... }
). Однако, если какое-либо из значений содержит одиночную кавычку (правильно экранированное как \'
), jQuery не выполняет синтаксический анализ в противном случае действительной строки JSON. Вот пример того, что я имею в виду (выполненный в консоли Chromes):
data = "{ \"status\": \"success\", \"newHtml\": \"Hello \\\'x\" }";
eval("x = " + data); // { newHtml: "Hello 'x", status: "success" }
$.parseJSON(data); // Invalid JSON: { "status": "success", "newHtml": "Hello \'x" }
Это нормально? Нет ли способа правильно передать одиночную кавычку через JSON?