Diese URL gibt JSON zurück:
{
query: {
count: 1,
created: "2015-12-09T17:12:09Z",
lang: "en-US",
diagnostics: {},
...
}
}
Ich habe es versucht und es hat nicht funktioniert:
responseObj = readJsonFromUrl('http://query.yahooapis.com/v1/publ...');
var count = responseObj.query.count;
console.log(count) // should be 1
Wie kann ich ein JavaScript-Objekt aus der JSON-Antwort dieser URL abrufen?
javascript
json
Yiğit Doğuş Özçelik
quelle
quelle
Antworten:
Sie können die jQuery-
.getJSON()
Funktion verwenden:Wenn Sie jQuery nicht verwenden möchten, sollten Sie sich diese Antwort für eine reine JS-Lösung ansehen: https://stackoverflow.com/a/2499647/1361042
quelle
data
Variablen enthalten istWenn Sie dies in einfachem Javascript tun möchten, können Sie eine Funktion wie die folgende definieren:
Und benutze es so:
Beachten Sie, dass dies
data
ein Objekt ist, sodass Sie auf seine Attribute zugreifen können, ohne es analysieren zu müssen.quelle
.onload = function() {
wenn Sie verwenden können?.onreadystatechange = function() { if (xhr.readState === 4) {
Ich meine, es ist kürzer, aber Sie opfern viel Unterstützung für das Speichern einiger Zeichen. Dies ist kein Code-GolfMit Chrome, Firefox, Safari, Edge und Webview können Sie die Abruf-API nativ verwenden, was dies viel einfacher und knapper macht.
Wenn Sie Unterstützung für IE oder ältere Browser benötigen, können Sie auch die Abruf-Polyfüllung verwenden .
MDN: API abrufen
Obwohl in Node.js diese Methode nicht integriert ist, können Sie Node-Fetch verwenden , um genau dieselbe Implementierung zu ermöglichen.
quelle
ES8 (2017) versuchen
Code-Snippet anzeigen
Sie können Fehler durch Try-Catch behandeln
Code-Snippet anzeigen
quelle
Axios ist ein Versprechen basiert HTTP - Client für den Browser und node.js .
Es bietet automatische Transformationen für JSON-Daten und ist die offizielle Empfehlung des Vue.js-Teams bei der Migration von der Version 1.0, die standardmäßig einen REST-Client enthält.
Oder auch nur
axios(url)
genug, da eineGET
Anfrage die Standardeinstellung ist.quelle
Definieren Sie eine Funktion wie:
Dann benutze es so:
quelle
fetch
in diesem Fall nicht erwartet? Ich bin verwirrt, ich sehe immer wieder Beispiele, wo es erwartet wird und klar genannt wirdHeute Morgen hatte ich auch den gleichen Zweifel und jetzt ist es klar, dass ich JSON gerade mit der API 'open-weather-map' ( https://openweathermap.org/ ) verwendet und Daten von der URL in der Datei index.html erhalten habe. Der Code sieht folgendermaßen aus:
Ich hatte offen API-Schlüssel geben, weil ich ein kostenloses Abonnement hatte, nur ein kostenloses Abonnement am Anfang. Unter "rapidapi.com" finden Sie einige gute kostenlose APIs und Schlüssel.
quelle
Sie können mit fetch () in JavaScript auf JSON-Daten zugreifen
Aktualisieren Sie den URL-Parameter von fetch () mit Ihrer URL.
Hoffe es hilft, es hat perfekt für mich funktioniert.
quelle
quelle
fetch
wurde in mehreren bestehenden Antworten erwähnt.quelle
fetch
wurde in mehreren bestehenden Antworten erwähnt. Die Verwendung vonawait/async
mit holen wurde in Kamils Antwort beschrieben .