解析JSON会返回神秘错误

时间:2014-01-20 18:59:37

标签: javascript jquery ajax json

我有一些JSON(https://gist.github.com/tekknolagi/8526671)我要求提供我的博客文章列表。

我在控制台中遇到了一些时髦的错误: enter image description here

还有JSONLint: enter image description here

我无法弄清楚出了什么问题。我的代码:

$(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);
    }
    });
});

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

1 个答案:

答案 0 :(得分:6)

抛出错误的行在字符串中包含:

Type \"help\", \"copyright\", \"credits\" or \"license\"

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

http://json.org/string.gif


“证明”:

["\&foo"]

导致相同的错误


由于我不知道\是如何到达那里的,所以提供解决方案并不是真的可行。但是要使JSON有效,你必须删除它们(或者像Pointy指出的那样加倍(没有双关语))(在生成JSON之前)。正确的JSON库实际上应该正确地转义\

相关问题