2017-01-03 3 views
0

У меня есть файл JSON в следующем формате:Чтение файла JSON в JavaScript

{"Day": [{"NameofDay": "Beginning of year"}]}

Если NameofDay имеет некоторый текст в нем, кроме None, то я должен напечатать этот текст. Иначе я ничего не должен был делать.

Я пробовал использовать следующий код, но я не уверен, как добавить к нему условие.

Это первый раз, когда я использую javascript. Любое руководство было бы очень полезно для меня.

function drawMessage(){ 
    var tt = $.ajax({ 
     url: "findDay.json", 
     dataType: "json", 
     async: false 
     }); 

    var jsonData = tt.responseJSON; 
    var data = new google.visualization.DataTable(jsonData); 
    } 

ответ

1

Это должно быть сделано внутри метода обратного вызова $ успеха и .ajax и это будет асинхронным.

$.ajax({ 
     url: "findDay.json", 
     dataType: "json", 
     success: function (data) { 
     //Do stuff with the JSON data 
     if(data.Day[0].NameofDay != 'None'){ //This condition be dependent on your requirement. 
      var data = new google.visualization.DataTable(jsonData); 
     } 
     } 
     }); 
+1

Это не асинхронное, если вы используете 'асинхронные: false'. – Barmar

1

Используйте for цикл для перебора содержимого в массиве и проверить, если значение свойства не равно None, как вы упомянули.

Вот код

кампании с таким же
function drawMessage() { 
     var tt = $.ajax({ 
      url: "findDay.json", 
      dataType: "json", 
      async: false, 
      success: function(jsonData){ 
         for (var i = 0; i < jsonData.Day.length; i++) 
         if (jsonData.Day[i].NameofDay != "None") 
          console.log(jsonData.Day[i].NameofDay) 

     var data = new google.visualization.DataTable(jsonData); 
    }