Ten adres URL zwraca kod JSON:
{
query: {
count: 1,
created: "2015-12-09T17:12:09Z",
lang: "en-US",
diagnostics: {},
...
}
}
Próbowałem tego i nie zadziałało:
responseObj = readJsonFromUrl('http://query.yahooapis.com/v1/publ...');
var count = responseObj.query.count;
console.log(count) // should be 1
Jak mogę uzyskać obiekt JavaScript z odpowiedzi JSON tego adresu URL?
javascript
json
Yiğit Doğuş Özçelik
źródło
źródło
Odpowiedzi:
Możesz użyć
.getJSON()
funkcji jQuery :Jeśli nie chcesz używać jQuery, powinieneś spojrzeć na tę odpowiedź dla czystego rozwiązania JS: https://stackoverflow.com/a/2499647/1361042
źródło
data
zmiennej”Jeśli chcesz to zrobić w zwykłym javascript, możesz zdefiniować taką funkcję:
I użyj tego w ten sposób:
Zauważ, że
data
jest to obiekt, więc możesz uzyskać dostęp do jego atrybutów bez konieczności analizowania go.źródło
.onload = function() {
po co używać, skoro możesz, to.onreadystatechange = function() { if (xhr.readState === 4) {
znaczy oczywiście, jest krótszy, ale poświęcasz dużo wsparcia, aby uratować kilka postaci. To nie jest code-golfDzięki Chrome, Firefox, Safari, Edge i Webview możesz natywnie korzystać z interfejsu API pobierania, co sprawia, że jest to o wiele łatwiejsze i znacznie bardziej zwięzłe.
Jeśli potrzebujesz obsługi IE lub starszych przeglądarek, możesz również użyć wypełnienia pobierania .
MDN: Fetch API
Mimo że Node.js nie ma wbudowanej tej metody, możesz użyć pobierania węzła, który pozwala na dokładnie taką samą implementację.
źródło
ES8 (2017) spróbuj
Pokaż fragment kodu
możesz obsłużyć błędy przez try-catch
Pokaż fragment kodu
źródło
Axios jest klient HTTP obietnica oparte na przeglądarce i node.js .
Oferuje automatyczne transformacje danych JSON i jest to oficjalne zalecenie zespołu Vue.js podczas migracji z wersji 1.0, która domyślnie zawierała klienta REST.
Lub nawet
axios(url)
wystarczy, ponieważGET
żądanie jest domyślne.źródło
Zdefiniuj funkcję, taką jak:
Następnie użyj tego w ten sposób:
źródło
fetch
oczekiwany w tym przypadku? Jestem zdezorientowany, ciągle widzę przykłady, gdzie jest oczekiwany i wyraźnie nazywanydziś rano miałem te same wątpliwości i teraz zostało to wyjaśnione, właśnie użyłem JSON z api „open-weather-map” ( https://openweathermap.org/ ) i uzyskałem dane z adresu URL w pliku index.html, kod wygląda następująco: -
Podałem klucz API otwarcie, ponieważ miałem bezpłatną subskrypcję, po prostu mam darmowe subskrypcje na początku. kilka dobrych darmowych interfejsów API i kluczy można znaleźć na stronie „rapidapi.com”
źródło
Dostęp do danych JSON można uzyskać za pomocą funkcji fetch () w JavaScript
Zaktualizuj parametr url funkcji fetch () za pomocą swojego adresu URL.
Mam nadzieję, że to pomaga, działało idealnie dla mnie.
źródło
źródło
fetch
zostało wspomniane w kilku istniejących odpowiedziach.źródło
fetch
zostało wspomniane w kilku istniejących odpowiedziach. Użycieawait/async
z pobieraniem zostało opisane w odpowiedzi Kamila .