我正在向我的服务器发出请求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" }
Run Code Online (Sandbox Code Playgroud)
这是正常的吗?有没有办法通过JSON正确传递单个引用?
...使用JSON2.js和JQUERY
从第一张图片中可以看出,对象属性customerReport.Title有一个撇号.在代码中,您可以看到我将JSON.stringify()调用到reportAsJson字符串中,该字符串仍然具有未转义的撇号.
$ .ajax()返回的错误是 {"Message":"Invalid object passed in, \u0027:\u0027 or \u0027}\u0027 expected. ...
最初我只是要禁止用户使用撇号,但我认为JSON.stringify()处理了这个或者我是否需要设置一些选项????
谢谢


