Javascript json解析中存在错误的控制字符错误

Javascript json解析中存在错误的控制字符错误,javascript,jquery,json,Javascript,Jquery,Json,解析JSON对象时,Firebug控制台中出现“错误控制字符”错误。这个网站有很多问题和解决方案;但我无法解决这个问题。我相信我在做傻事。请指出我的错误 JS小提琴: 如果我们将json数据更改为纯文本而不是html标记,那么它就可以工作 错误: 注意: JSON数据是使用JSON_encode从PHP函数获得的 功能 json输出在jsonlint中看起来有效 下面是我使用的代码 $(文档).ready(函数(){ var sign='{“data”:“------------\r\n来自

解析JSON对象时,Firebug控制台中出现“错误控制字符”错误。这个网站有很多问题和解决方案;但我无法解决这个问题。我相信我在做傻事。请指出我的错误

JS小提琴:

如果我们将json数据更改为纯文本而不是html标记,那么它就可以工作

错误:

注意:

  • JSON数据是使用JSON_encode从PHP函数获得的 功能
  • json输出在jsonlint中看起来有效
下面是我使用的代码

$(文档).ready(函数(){
var sign='{“data”:“------------\r\n来自雅虎团队\r\n”}”;
someVal=JSON.parse(符号);
$(“.demo”).append(someVal.data);
});

你需要逃避逃避:)

使用双
\\
代替
\


问题在于\r和\n。这些需要作为一种逃避

\\r 


在JSON字符串中

谢谢。但在JS中传递JSON之前,我如何在PHP中做到这一点呢?事实上,在服务器端或JS端进行替换我想没关系吧?这是个好消息。我不明白用什么来代替什么。在您的小提琴中,我看到sign.replace(“\n”,“\n”),我无法理解它本身替换同一个字符的意义。当我尝试sign.replace(“\”,“\”)时,它表示非法字符。我对JS很陌生。请容忍我。那是从你的小提琴上传下来的。试着在php方面这样做,我不熟悉php,但你需要将单斜杠换成双斜杠(试试我发现的:
str\u replace(“\\”,“\\\”,$data);
var s= JsonString;
$.parseJSON(s.replace(/\s+/g,""));
\\r 
\\n 
var s= JsonString;
$.parseJSON(s.replace(/\s+/g,""));