如何从JavaScript调用Json对象

时间:2014-11-01 21:40:02

标签: javascript jquery json

我需要从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

1 个答案:

答案 0 :(得分:1)

您的拼写错误...您尚未使用$.getJSON

关闭)方法

应该是:

function json(){ $.getJSON(
    "/JavaScript/dataBase2.json"
    function(data){ 
        $.window.vuelosmadrid = data; 
        //console.log(data.vuelosmadrid) check()
    }
    ); //added closing
}