最佳答案
我使用jQuery.post()
向服务器发出请求,服务器返回JSON对象(如{ "var": "value", ... }
)。但是,如果任何值包含单引号(像\'
那样正确转义),jQuery将无法解析其他有效的JSON字符串。下面是我的意思的一个例子(在Chrome的控制台上完成):
data = "{ \"status\": \"success\", \"newHtml\": \"Hello \\\'x\" }";
eval("x = " + data); // { newHtml: "Hello 'x", status: "success" }
$.parseJSON(data); // Invalid JSON: { "status": "success", "newHtml": "Hello \'x" }
这正常吗?是否没有办法通过JSON正确地传递单引号?