解析JSON会返回神秘错误

tek*_*agi 0 javascript ajax jquery json

我有一些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);
    }
    });
});
Run Code Online (Sandbox Code Playgroud)

它总是在解析时失败.这已经让我好几个星期了.

Fel*_*ing 6

抛出错误的行在字符串中有这个:

Type \"help\", \"copyright\", \"credits\" or \"license\"
Run Code Online (Sandbox Code Playgroud)

\& 不是JSON字符串值中的有效转义序列:

http://json.org/string.gif


"证明":

["\&foo"]
Run Code Online (Sandbox Code Playgroud)

导致相同的错误


由于我不知道首先是如何实现的\,因此无法提供解决方案.但是要使JSON有效,你必须删除它们(或者像Pointy指出的那样加倍(没有双关语))(在生成JSON之前).一个合适的JSON库实际上应该\正确地处理转义.