JSON Получить элемент, когда это дата? - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь использовать запрос GET и манипулировать некоторым JSON. Тем не менее, результаты включают дату в JSON. Будет ли я работать через это - я могу выбрать информацию раньше, но не могу выбрать данные в течение даты. Я пробовал "2018-06-28" безрезультатно.

"element_count" : 8,
  "near_earth_objects" : {
    "2018-06-28" : [ {
      "links" : {
        "self" : "https://api.nasa.gov/neo/rest/v1/neo/3251512?api_key=OFC1FIb06lwdyot0ZN3yRQAQe8pvhK0R1wCx5GAu"
      },
      "neo_reference_id" : "3251512",
      "name" : "(2004 RX10)",
      "nasa_jpl_url" : "http://ssd.jpl.nasa.gov/sbdb.cgi?sstr=3251512",
      "absolute_magnitude_h" : 21.3,
      "estimated_diameter" : {
        "kilometers" : {
          "estimated_diameter_min" : 0.1460679643,
          "estimated_diameter_max" : 0.3266178974
        },
        "meters" : {
          "estimated_diameter_min" : 146.0679642714,
          "estimated_diameter_max" : 326.6178974458
        },
        "miles" : {
          "estimated_diameter_min" : 0.090762397,
          "estimated_diameter_max" : 0.2029508896
        },
        "feet" : {
          "estimated_diameter_min" : 479.2256199,
          "estimated_diameter_max" : 1071.581062656
        }
      },
      "is_potentially_hazardous_asteroid" : false,
      "close_approach_data" : [ {
        "close_approach_date" : "2018-06-28",
        "epoch_date_close_approach" : 1530169200000,
        "relative_velocity" : {
          "kilometers_per_second" : "13.0790754914",
          "kilometers_per_hour" : "47084.6717691282",
          "miles_per_hour" : "29256.5839667675"
        },
        "miss_distance" : {
          "astronomical" : "0.1504186394",
          "lunar" : "58.5128517151",
          "kilometers" : "22502308",
          "miles" : "13982286"
        },
        "orbiting_body" : "Earth"
      } ]
    },

Вот что я пробовал до сих пор:

jQuery.getJSON("neo-current.json", function(data) {  
    $("#neo").html(data.element_count+" NEO(s)");
    var date = "2018-06-28";
    $.each(data, function(index, i) {
        console.log(i.near_earth_objects.date.name);
    });
});

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Нашли решение.

jQuery(document).ready(function($) {
    var hazardous = '0';
    jQuery.getJSON("neo-current.json", function(data) {  
        $("#neo").html(data.element_count+" NEO(s)");
        var date = Object.keys(data.near_earth_objects)[0];
        $.each(data.near_earth_objects[date], function(index, i) {
            console.log(i.name+" "+i.is_potentially_hazardous_asteroid);
            if (i.is_potentially_hazardous_asteroid == true) {
                hazardous ++
            } else {
                //Do Nothing
            }
        });
        $("#hazardous-neo").html(hazardous+" NEO(S)");
    });
});
0 голосов
/ 29 июня 2018

Должно быть:

console.log(i.near_earth_objects[date].name);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...