我有一个外部json文件file.json
,我试图获取一个存储在它内部的数组,因此我可以将它用作Javascript数组。 JSON文件:从外部Json获取数组
{
"data": [
{
"Name": "Steve",
"Number": "120",
"Number2": "78",
"Number3": "75",
"Number3": "85"
},
{
"Name": "Bob",
"Number": "130",
"Number2": "98",
"Number3": "85",
"Number3": "85"
},
{
"Name": "Joe",
"Number": "430",
"Number2": "88",
"Number3": "75",
"Number3": "89"
}
]
}
有后的“数据”的数组:和我想使用它作为一个数组。 这是我曾尝试:(只是为了测试)
$.getJSON("file.json", function(json) {
for (var i = 0; i < json.data.length; i++) {
var Test = json.data[i];
console.log(Test.Name);
}
});
alert(Test.Name);
虽然它没有返回数组,警报也不能工作。是否有一个原因?而且,如果我可以在函数外部获得变量或对象,那么如何创建一个数组并将其放到外部? 谢谢!
'alert()'在回调之外,所以它可能会出错,因为'Test'未定义。但里面的一切都很好。你的控制台上没有打印什么东西?任何错误?同时检查你的“网络”标签,看看你是否收到正确的数据。在附注中,如果文件存储在本地,Chrome等浏览器将阻止Ajax请求。它需要用'http://'协议或其他,但不是'file:///'提供。 – blex
糟糕,我忘了提及...是的,它是在网络服务器上。控制台还提到在函数之后Test未定义。 (我希望能够访问功能以外的测试。) – Amirkhanaursrk