我需要解析一个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":"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验证员说,没关系。关于我缺少的任何想法?
问候。
答案 0 :(得分:0)
确保您的服务器发送了正确的MIME类型( application / json )
您可以使用PHP强制执行此操作。例如,您可以创建一个PHP脚本,使用正确的MIME类型将JSON文件发送到输出,如下所示:
<?php
header('Content-type: application/json');
readfile('dig.json');
?>
答案 1 :(得分:0)
我在一个新的小提琴中重写了你的代码..你可能想在这里查看这个链接..
$(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);
});
});