json解析中的错误控制字符错误

时间:2013-10-24 18:16:07

标签: javascript jquery json

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

JS小提琴:http://jsfiddle.net/Purus/Eqz2r/

如果我们将json数据更改为纯文本而不是html标记,则可以正常工作。

错误:

SyntaxError: JSON.parse: bad control character in string literal
someVal = JSON.parse(sign);

注意:

  • 使用json_encode从PHP函数获取JSON数据 功能。
  • json输出在jsonlint
  • 中看起来有效

以下是我使用过的代码。

$(document).ready(function () {
   var sign = '{"data":"<br\/><br\/>----------<br \/>\r\nFrom Yahoo Team<br \/>\r\n<a href=\"http:\/\/localhost\/base\/1-yahoo-logo.jpg\" target=\"_blank\"><img style=\"padding: 5px;\" src=\"http:\/\/localhost\/plugins\/1-yahoo-logo.jpg\" height=\"120\" width=\"196\" \/><\/a>"}';

   someVal = JSON.parse(sign);
   $(".demo").append(someVal.data);
});

3 个答案:

答案 0 :(得分:7)

你需要逃脱逃脱:)

使用双\\代替\

http://jsfiddle.net/Eqz2r/2/

答案 1 :(得分:1)

问题是\ r和\ n。这些需要转义为

\\r 

\\n 

在JSON字符串

答案 2 :(得分:0)

var s= JsonString;
$.parseJSON(s.replace(/\s+/g,""));