我需要从JavaScript调用JSON对象。 JSON对象位于名为" database2.json"的文件中。在JavaScript中,我有一个名为function check()的函数。我需要这个函数来运行JSON对象,其中我有不同的航班日期(城市,公司,出发,到达等等)。所以我建立了这个:
window.onload = json();
function json(){
$.getJSON("/JavaScript/dataBase2.json",function(data){
$.window.vuelosmadrid = data;
//console.log(data.vuelosmadrid)
check()
}
}
function check(){
var ciudadorigen = window.localStorage.getItem("Origin");
var ciudaddestino = window.localStorage.getItem("Destination");
var fechaorigen = window.localStorage.getItem("dateOr");
// console.log(vuelosmadrid[1].ciudades[0].fechas[1].fecha)
if (ciudadorigen === "Madrid"){
console.log("1")
for (x in vuelosmadrid) {
console.log("2")
for (y in vuelosmadrid[x].ciudades) {
console.log("3")
if (vuelosmadrid[x].ciudades[y].ciudad === ciudaddestino) {
console.log("4")
for (z in vuelosmadrid[x].ciudades[y].fechas) {
console.log("5")
if (vuelosmadrid[x].ciudades[y].fechas[z].fecha === fechaorigen) {
console.log('hola');
constructor()
}
}
}
}
}
}
};
对象JSON是这样的:
{"vuelosmadrid": [
{"Imagennaranja":"spain",
"Imagenverde":"spaingreen",
"Imagenamarilla":"spainyellow",
"Imagenrojo": "spainred",
"ciudades":
[
{"ciudad":"Barcelona",
"fechas":
[
{"fecha":"2014-11-05","precio": 50 },
{"fecha":"2014-11-06","precio": 40 }
]
}
]
},
{"Imagennaranja":"francia",
"Imagenverde":"franciagreen",
"Imagenamarilla":"franciayellow",
"Imagenrojo": "franciared",
"ciudades":
[
{"ciudad":"Paris",
"fechas":
[
{"fecha":"2014-11-05","precio": 190},
{"fecha":"2014-11-06","precio": 225},
{"fecha":"2014-11-06","precio": 225}
]
}
]
},
{"Imagennaranja":"portugal",
"Imagenverde":"portugalgreen",
"Imagenamarilla":"portugalyellow",
"Imagenrojo": "portugalred",
"ciudades":
[
{"ciudad":"Lisboa",
"fechas":
[
{"fecha":"2014-11-05","precio": 45},
{"fecha":"2014-11-06","precio": 75}
]
}
]
}
]}
我不知道我做错了什么,但是当页面加载时,控制台在我关闭函数Syntax error: Unexpected token }
的行中显示json
。
答案 0 :(得分:1)
您的拼写错误...您尚未使用$.getJSON
)
方法
应该是:
function json(){ $.getJSON(
"/JavaScript/dataBase2.json"
function(data){
$.window.vuelosmadrid = data;
//console.log(data.vuelosmadrid) check()
}
); //added closing
}