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
}
]
}