Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Pobieranie kursów walut

poniedziałek,

Pobieranie kursów walut

Narodowy Bank Polski udostępnia publiczne Web API umożliwiające pobieranie kursów walut oraz cen złota w formacie XML oraz JSON. Dla programistów opublikowano instrukcję użytkownika. Web API NBP jest stosunkowo proste. JSON (JavaScript Object Notation) jest formatem tekstowym, bazującym na podzbiorze języka JavaScript, opisanym dokładnie w dokumencie RFC 4627. Wbrew nazwie, JSON jest obsługiwany także przez inne popularne języki programowania. Format ten często stosowany jest w aplikacjach AJAX. Podstawy techniki AJAX opisano w materiale „Asynchronous JavaScript and XML”.

Przykładowa aplikacja

Prezentowany skrypt pobiera z serwisu api.nbp.pl dane na temat obowiązującego kursu średniego dolara amerykańskiego.

Kod HTML

<div id="tester">
<button>Pobierz aktualnie obowiązujący kurs średni waluty USD</button>
<p></p>
</div>

Kod JavaScript

Większość zastosowanego kodu omówiono w poprzednim materiale. Metoda parse() przekształca dane w formacie JSON w obiekt.

document.querySelector('#tester button').addEventListener('click', function() {
  var ajax = new XMLHttpRequest();
  ajax.onreadystatechange = function() {
    var res, kursy;
    if(ajax.readyState === 4 && ajax.status === 200) {
      res = JSON.parse(this.responseText);
      kursy = res.rates[0].effectiveDate+': '+res.rates[0].mid;
      document.querySelector('#tester p').innerHTML = kursy;
    }
  };
  ajax.open("GET", "http://api.nbp.pl/api/exchangerates/rates/a/usd/", true);
  ajax.send();
});
ajax.send();

Przykładowy JSON wysyłany przez serwer NBP

{
  "table":"A",
  "currency":"dolar amerykański",
  "code":"USD",
  "rates":[
    {
      "no":"228/A/NBP/2020",
      "effectiveDate":"2020-11-23",
      "mid":3.7616
    }
  ]
}

Trzy miesiące temu na naszej stronie…

Artykuł: Zdzisław Sroczyński

Zdzisław Sroczyński

Artykuł: Harmonogram egzaminów maturalnych

Harmonogram egzaminów maturalnych

Artykuł: Staże w Hiszpanii

Staże w Hiszpanii

Artykuł: Conformité Européenne

Conformité Européenne

Artykuł: Display Stream Compression

Display Stream Compression

Artykuł: High Dynamic Range

High Dynamic Range

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły