2011-09-08 109 views
6

...使用JSON2.js和jQueryJSON.stringify()不逃避撇号

,你可以从第一图像的对象属性customerReport.Title有撇号见。在代码中,您可以看到我将JSON.stringify()调用为reportAsJson字符串仍然具有未转义的撇号。

由$。阿贾克斯()返回的错误是{"Message":"Invalid object passed in, \u0027:\u0027 or \u0027}\u0027 expected. ...

起初我只是从用户禁止撇号的,但我认为JSON.stringify()来处理这还是我需要设置一些选项????

感谢

enter image description here

enter image description here

enter image description here

+0

您不应该需要在JSON中转义单引号。那个'{“Message”:“无效的对象传入...”来自哪里? –

+0

什么是返回这个错误信息? –

+0

@MattBall我从Firebug的控制台面板从响应选项卡复制 – kevcoder

回答

6

你能避免去除这些省略号与HTML实体'替换它们 - 这是一个QUOT - 后来解码HTML实体或者在c lient或服务器端。

+0

试图避免这一点..如果我可以 – kevcoder

+0

避免无法避免!:D –

0

继已为我工作这么多次失败的尝试后字符串化等JSON解析功能:

updatedString = string.replace(/('[a-zA-Z0-9\s]+\s*)'(\s*[a-zA-Z0-9\s]+')/g,"$1\\\'$2"); 

其中

  • 串=其中具有撇号的字符串。
  • updatedString =带撇号问题的字符串已解决/转义