Jquery SyntaxError:JSON.parse:JSON数据第1行第61行的字符串文字中的错误控制字符

时间:2015-06-11 07:10:52

标签: jquery json

我想在我的网站中通过jquery解码json字符串,但在Firefox控制台中显示此错误:

enter image description here

我使用了以下代码:

var arrayJSON = $.parseJSON('[{"id":"1","title":"\u067e\u064a\u0634\u06af\u0641\u062a\u0627\u0631"}, {"id":"2","title":"\u0645\u0648\u0636\u0648\u0639\u0627\u062a  \t\t\t\t\t\t\u062f\u0647\u00a0\u06af\u0627\u0646\u0647 \u0645\u0648\u0631\u062f \u0628\u062d\u062b"}, {"id":"3","title":"\u0642\u0631\u0622\u0646  \t\t\t\t\t\t\u0627\u0632 \u0647\u0631\u06af\u0648\u0646\u0647 \u062a\u062d\u0631\u064a\u0641 \u0645\u0646\u0632\u0651\u0647 \u0627\u0633\u062a\u00a0\u00a0\u00a0 "}, {"id":"4","title":"\u062f\u0648  \t\t\t\t\t\t\u0643\u062a\u0627\u0628 \u0627\u0632 \u062f\u0648 \u06af\u0631\u0648\u0647 "}, {"id":"5","title":"\u0628\u0647  \t\t\t\t\t\t\u062e\u0627\u0637\u0631 \u062e\u0635\u0648\u0645\u062a \u0641\u0631\u0642\u0647\u00a0\u0627\u0649 \u062a\u064a\u0634\u0647 \u0628\u0631 \u0631\u064a\u0634\u0647 \u0627\u0633\u0644\u0627\u0645 \u0646\u0632\u0646\u064a\u062f"}, {"id":"6","title":"\u062f\u0644\u0627\u064a\u0644  \t\t\t\t\t\t\u0639\u0642\u0644\u0649 \u0648 \u0646\u0642\u0644\u0649 \u0628\u0631 \u0639\u062f\u0645 \u062a\u062d\u0631\u064a\u0641"}, {"id":"7","title":"\u062a\u0642\u064a\u0651\u0647  \t\t\t\t\t\t\u062f\u0631 \u0643\u062a\u0627\u0628 \u0648 \u0633\u0646\u0651\u062a\u00a0\u00a0\u00a0 "}, {"id":"8","title":"\u0640  \t\t\t\t\t\t\u062a\u0642\u064a\u0651\u0647 \u0686\u064a\u0633\u062a\u061f "}, {"id":"9","title":"\u0640 \u0641\u0631\u0642  \t\t\t\t\t\t\u062a\u0642\u064a\u0651\u0647 \u0628\u0627 \u0646\u0641\u0627\u0642 "}, {"id":"10","title":"\u0640  \t\t\t\t\t\t\u062a\u0642\u064a\u0651\u0647 \u062f\u0631 \u062a\u0631\u0627\u0632\u0648\u0649 \u0639\u0642\u0644 "}, {"id":"11","title":"\u0640  \t\t\t\t\t\t\u062a\u0642\u064a\u0651\u0647 \u062f\u0631 \u0643\u062a\u0627\u0628 \u0627\u0644\u0644\u0647 "}, {"id":"12","title":"\u0640  \t\t\t\t\t\t\u062a\u0642\u064a\u0651\u0647 \u062f\u0631 \u0631\u0648\u0627\u064a\u0627\u062a \u0627\u0633\u0644\u0627\u0645\u0649 "}, {"id":"13","title":"\u0640 \u0622\u064a\u0627  \t\t\t\t\t\t\u062a\u0642\u064a\u0651\u0647 \u0641\u0642\u0637 \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u0643\u0641\u0651\u0627\u0631 \u0627\u0633\u062a\u061f "}, {"id":"14","title":"\u0640  \t\t\t\t\t\t\u067e\u0631\u0633\u0634\u00a0\u0647\u0627\u0649 \u0628\u0649 \u062c\u0648\u0627\u0628 "}, {"id":"15","title":"\u0640  \t\t\t\t\t\t\u0635\u062d\u0627\u0628\u0647 \u0643\u064a\u0627\u0646\u0646\u062f\u061f "}, {"id":"16","title":"\u0639\u062f\u0627\u0644\u062a  \t\t\t\t\t\t\u0635\u062d\u0627\u0628\u0647\u00a0\u00a0\u00a0 "}, {"id":"17","title":"\u0640 \u062f\u0648  \t\t\t\t\t\t\u0639\u0642\u064a\u062f\u0647 \u0645\u062a\u0636\u0627\u062f "}, {"id":"18","title":"\u0640  \t\t\t\t\t\t\u062a\u0646\u062f\u0631\u0648\u0627\u0646 \u062a\u0646\u0632\u064a\u0647 "}, {"id":"19","title":"\u0640  \t\t\t\t\t\t\u062a\u0642\u064a\u0651\u0647 \u0645\u062f\u0627\u0631\u0627\u064a\u0649 "}, {"id":"20","title":"\u0640  \t\t\t\t\t\t\u062a\u0642\u064a\u0651\u0647 \u062d\u0631\u0627\u0645 "}]');

3 个答案:

答案 0 :(得分:3)

如果可以的话,删除所有“\ t”就可以了

答案 1 :(得分:0)

使用这个json:

var arrayJSON = $.parseJSON('[{"id":"1","title":"\u067e\u064a\u0634\u06af\u0641\u062a\u0627\u0631"}, {"id":"1","title":"\u067e\u064a\u0634\u06af\u0641\u062a\u0627\u0631"}]');

这里需要一个数据数组,所以你需要在json周围添加[],否则会在,处抛出错误。

答案 2 :(得分:0)

由于它有\t,因此使用eval代替JSON.parse,否则您必须删除\t

JSON字符串中不允许使用

文字制表符。参考:https://stackoverflow.com/a/19799355/70439