我有一些JSON(https://gist.github.com/tekknolagi/8526671)我要求提供我的博客文章列表。
我在控制台中遇到了一些时髦的错误:
还有JSONLint:
我无法弄清楚出了什么问题。我的代码:
$(document).ready(function () {
$.ajax({
url: '/posts.json',
type: "GET",
dataType: "text",
success: function(data) {
// data = data.replace(/(\r\n|\n|\r)/gm,"");
console.log(data);
var parsed = JSON.parse(data);
var parsed = data;
var names = []
for (var post in parsed) names.push(post.title);
console.log(names);
$('#page_holder').pagify({
pages: data,
default: null
});
},
fail: function (err) {
console.log(err);
}
});
});
它总是在解析时失败。这已经让我好几个星期了。
答案 0 :(得分:6)
抛出错误的行在字符串中包含:
Type \"help\", \"copyright\", \"credits\" or \"license\"
\&
不是JSON字符串值中的有效转义序列:
“证明”:
["\&foo"]
导致相同的错误
由于我不知道\
是如何到达那里的,所以提供解决方案并不是真的可行。但是要使JSON有效,你必须删除它们(或者像Pointy指出的那样加倍(没有双关语))(在生成JSON之前)。正确的JSON库实际上应该正确地转义\
。