Ich verwende das NASA Near Earth Object-Array für ein Schülerprojekt und habe Probleme beim Zugriff auf verschachtelte Objekte, die ein Datum und Bindestriche für einen Schlüssel haben, z.Zugriff auf Javascript Objektschlüssel mit Zahlen und Bindestrichen
2016-09-08 : [...]
Der Fehler, den ich zurückbekomme, ist nur 'undefiniert'.
Der API-Aufruf die ich habe ist:
$(document).ready(function NASAtest() {
$.ajax({
type: "GET",
url: "https://api.nasa.gov/neo/rest/v1/feed?start_date=2016-09-07&end_date=2016-09-08&api_key=DEMO_KEY",
asynch: false,
contentType: "application/javascript",
dataType: "json",
success: function(data) {
console.log(data)
var recordList = data.near_earth_objects;
console.log(recordList);
var recordList2 = data.near_earth_objects[2016-09-08];
console.log(recordList2);
}
});
});
Beispiel API-Daten:
{
"near_earth_objects": {
"2016-09-08": [
{
"neo_reference_id": "3726710",
"name": "(2015 RC)",
"nasa_jpl_url": "http://ssd.jpl.nasa.gov/sbdb.cgi?sstr=3726710",
"absolute_magnitude_h": 24.3,
"is_potentially_hazardous_asteroid": false,
} ] } }
Siehe Geige: https://jsfiddle.net/lollyborch/v640ocfr/
und JSON-Daten: https://api.nasa.gov/neo/rest/v1/feed?start_date=2016-09-07&end_date=2016-09-08&api_key=DEMO_KEY
würde ich schließlich Ich mag es, über alle Datumsinformationen zu iterieren, um bis zum Ende zu kommen Die Schlüssel wie "absolute_magnitude_h" und "is_potentiial_hazardous_asteroid" für einen Datumsbereich haben aber zu diesem Zeitpunkt Schwierigkeiten, über den Datumsschlüssel hinauszukommen.
Ich habe versucht, mit eckigen Klammern anstelle Punktnotation wie beschrieben und here beschrieben, aber kann nicht scheinen zu sehen, was ich falsch mache.
Alle Ideen auf die richtige Richtung würden sehr geschätzt werden.
Haben Sie versucht, mit Zitaten: 'data.near_earth_objects [ "2015.09.08"]'? – Paul
Bitte beachten Sie außerdem, dass Sie Daten für 201 ** 6 ** abrufen, aber Sie versuchen, Daten für ein Datum in 201 ** 5 ** zu erhalten, also denke ich, dass Sie wollen, data.near_earth_objects ["2016-09- 08 "]'. Nur für den Fall, dass Sie sich immer noch mit dem "undefined" -Fehler herumschlagen. Siehe https://jsfiddle.net/v640ocfr/1/ – Paul
Vielen Dank @Paul. Ich gab mir selbst den Tipp, dass es ein Tippfehler war. Ich habe heute Abend so viele Variationen ausprobiert, dass ich mich nicht erinnern konnte, sie zu aktualisieren. – LollyBee