使用jQuery.parseJSON()解析json时,出现此错误
SyntaxError: JSON.parse: bad control character in string literal
我使用json_encode()从PHP获取json字符串.
有没有一种编码方式,使得jQuery.parseJSON()不会抱怨并且仍然保留换行信息?
解决方法:
根据v8错误跟踪器(http://code.google.com/p/v8/issues/detail?id=616),这实际上是正确的行为:
“ JSON字符串中不允许使用换行符(例如,
JsonStringCharacter生产的ECMA262 5ed,第15.2.1.1节).”
因此,这实际上取决于您要执行的操作-在这种情况下,由于需要换行符,因此需要在进行json解析之前对它们进行转义:
//myjsonobject contains the json object
var obj = jQuery.parseJSON(myjsonobject.replace(/\n/g,"\\n"));