[英]Parsing JSON returns cryptic error
我有一些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);
}
});
});
而且它總是無法解析。 這已經殺死了我好幾個星期。
引發錯誤的行在字符串中包含以下內容:
Type \"help\", \"copyright\", \"credits\" or \"license\"
\\&
在JSON字符串值中不是有效的轉義序列:
(來源: json.org )
“證明”:
["\&foo"]
導致相同的錯誤
由於我首先不知道\\
是如何到達的,因此實際上不可能提供解決方案。 但是要使JSON有效,您必須刪除它們(或按Pointy指出的將它們加倍(無雙關))(在生成JSON之前)。 正確的JSON庫實際上應注意正確轉義\\
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.