$ .parseJSON给出“Uncaught SyntaxError:意外的标记”

我使用JQuery parseJSON解析json字符串

var jsontest = '[{"nombre":"Campau00f1a de prueba","parcelas":"10","stampCreacion":"2014-12-30 18:18:26","estado":"1","id":"1","active":"1","camposControl":[{"nombre":"Repeticiu00f3n","tipo":"2","id":"2","active":"1"},{"nombre":"Comentarios","tipo":"1","id":"3","active":"1"}]},{"nombre":"Campau00f1a2","parcelas":"10","stampCreacion":"2014-12-30 20:07:36","estado":"1","id":"2","active":"1","camposControl":[{"nombre":"Opciones","tipo":"3","id":"16","active":"1","opciones":[{"nombre":"muchasr","id":"12","active":"1"},{"nombre":"opcionesr","id":"13","active":"1"},{"nombre":"para mi r","id":"14","active":"1"},{"nombre":"y para ti","id":"15","active":"1"}]},{"nombre":"numerito por aqui","tipo":"2","id":"17","active":"1"}]}]';



var obj = $.parseJSON(jsontest);

根据jsonlint,它似乎是一个有效的json,但正如你在小提琴中看到的那样,它会给出下一个错误:

未捕获的SyntaxError:意外的令牌 - > jquery-1.11.2.min.js:4

http://jsfiddle.net/6a9qLtq2/

我正在使用铬顺便说一句


我看到的错误是你的逃生''。 我用 uXXXX替换了所有的 uXXXX代码,并且我得到的唯一额外错误是用' r'。 我也删除了' r',并得到这个工作:

    var jsontest = '[{"nombre":"Campau00f1a de prueba","parcelas":"10","stampCreacion":"2014-12-30 18:18:26","estado":"1","id":"1","active":"1","camposControl":[{"nombre":"Repeticiu00f3n","tipo":"2","id":"2","active":"1"},{"nombre":"Comentarios","tipo":"1","id":"3","active":"1"}]},{"nombre":"Campau00f1a2","parcelas":"10","stampCreacion":"2014-12-30 20:07:36","estado":"1","id":"2","active":"1","camposControl":[{"nombre":"Opciones","tipo":"3","id":"16","active":"1","opciones":[{"nombre":"muchas","id":"12","active":"1"},{"nombre":"opciones","id":"13","active":"1"},{"nombre":"para mi ","id":"14","active":"1"},{"nombre":"y para ti","id":"15","active":"1"}]},{"nombre":"numerito por aqui","tipo":"2","id":"17","active":"1"}]}]';


var obj = $.parseJSON(jsontest);
console.log(obj);

我不确定你想要' r',但如果你要回车,我想你想要' n'。

作为关于escapes的一个注释,你必须记住你有一个字符串内的字符串,所以你必须加倍逃避(为什么你需要两个反斜杠而不是一个)。

哦,这是一个叉子http://jsfiddle.net/gok31tqu/

然后进行测试,我做了另一个叉,我用' r'替换了' r',它看起来也运行了:

http://jsfiddle.net/9vktyj29/

希望有所帮助。


将JSFiddle更新为:

var jsonstringify = JSON.stringify(jsontest);
    var obj = $.parseJSON(jsonstringify);

编码反斜杠


use eval(jsonData) will fix this issue..
链接地址: http://www.djcxy.com/p/45947.html

上一篇: $.parseJSON giving "Uncaught SyntaxError: Unexpected token"

下一篇: Unexpected token } at the end of json response