Javascript jquery json解析-外部文件错误(相同数据)
我需要解析一个json文件(使用jquery)。工作样本: 我的问题是,当我试图通过外部文件加载“data2”时,浏览器会抱怨它的格式无效Javascript jquery json解析-外部文件错误(相同数据),javascript,jquery,json,Javascript,Jquery,Json,我需要解析一个json文件(使用jquery)。工作样本: 我的问题是,当我试图通过外部文件加载“data2”时,浏览器会抱怨它的格式无效 var data2; $.getJSON('dig.json') .done(function (data) { data2 = data; }); dig.json中的内容是: [{"type":"Text","id":"f3e555e7-2a89-478c-a23c-feaabb454ef5","name":"Hello!","next":"ebc8
var data2;
$.getJSON('dig.json')
.done(function (data) {
data2 = data;
});
dig.json中的内容是:
[{"type":"Text","id":"f3e555e7-2a89-478c-a23c-feaabb454ef5","name":"Hello!","next":"ebc8dbcf-4847-4da1-bef9-e18bb016b630"},{"type":"Text","id":"ebc8dbcf-4847-4da1-bef9-e18bb016b630","name":"Miko Miko","next":"6ffb5ab3-b5fa-4d0e-8ca6-b7b8f01e0dfc"},{"type":"Text","id":"6ffb5ab3-b5fa-4d0e-8ca6-b7b8f01e0dfc","name":"End","next":null}]
尝试添加“前后”,结果相同
根据json验证程序,这是可以的。你知道我遗漏了什么吗
问候。确保服务器发送的MIME类型正确(应用程序/json) 您可以使用PHP强制执行此操作。例如,您可以创建一个PHP脚本,将JSON文件发送到具有正确MIME类型的输出,如下所示:
<?php
header('Content-type: application/json');
readfile('dig.json');
?>
我用一把新小提琴重写了你的代码。。你可能想在这里查看这个链接
档案里一定有什么不相干的东西。检查Developer Tools/Firebug中网络选项卡的响应部分。感谢Barmar,不幸的是,响应部分(loads ok)中没有指示灯仍在获取:SyntaxError:JSON.parse:JSON数据JSON.html(línea 49,columna 8)第1行第1列的意外字符文件中肯定有一些无关的东西。是否可以从Internet访问
dig.json
?不会有“lights”,因为浏览器没有解析它,它只是原始数据。但是您应该查看JSON前后是否有额外的字符。可能是文件开头的BOM字符。我找不到该字符,可以在以下位置访问:Response似乎没问题(获得了我的3个对象)$。getJSON
忽略内容类型并假定它是JSON。这有什么帮助?他的问题只是当他从外部URL获取JSON时,而不是从硬编码的JSON字符串。您的jsonString
不是有效的JSON。在JSON中,必须引用对象键。是的,Barmar爵士,我看到了。4.我正在修改作业。。除息的
$(document).ready(function () {
//var jsonString = '[{ name : "foo" }]';
// JSON.parse not accepting placeholders so
// i wrote the object inside instead
var parsedJson = JSON.parse('[{ "name" : "foo" }]');
//alert the value, the dom seems buggy
alert(parsedJson[0].name);
$.getJSON(parsedJson[0].name, function( data ) {
alert(data);
});
});