JSON (ang. JavaScript Object Notation) to tekstowy format zapisu i wymiany danych oparty na parach klucz–wartość. Jest czytelny dla człowieka i łatwy do przetworzenia przez program w każdym popularnym języku. Choć wywodzi się ze składni JavaScriptu, nie zależy od żadnego języka programowania.
Jeśli korzystasz z API giełdy, bota tradingowego, TradingView z alertami przez webhook albo własnego węzła blockchaina, to prawie na pewno masz do czynienia z JSON-em. Większość publicznych API kryptogiełd i brokerów zwraca dane właśnie w tym formacie.
Budowa JSON-a
JSON ma tylko dwie struktury: obiekt w nawiasach klamrowych {}, czyli zbiór par „klucz”: wartość, oraz tablicę w nawiasach kwadratowych [], czyli uporządkowaną listę wartości. Struktury można zagnieżdżać.
| Typ | Zapis | Przykład w danych giełdowych |
|---|---|---|
| Tekst (string) | w cudzysłowie | "symbol": "BTCUSDT" |
| Liczba | bez cudzysłowu, kropka dziesiętna | "leverage": 5 |
| Wartość logiczna | true / false |
"reduceOnly": true |
| Brak wartości | null |
"stopPrice": null |
| Obiekt | { } |
jedno zlecenie z polami |
| Tablica | [ ] |
lista zleceń albo poziomy arkusza zleceń |
Typowa odpowiedź API z najlepszymi ofertami kupna i sprzedaży wygląda tak: {"symbol": "BTCUSDT", "bidPrice": "64250.10", "askPrice": "64250.20"}. Zwróć uwagę, że ceny są podane jako tekst, a nie liczby. Giełdy robią tak celowo – o tym niżej.
Gdzie trader spotyka JSON
- REST API giełd – saldo, otwarte pozycje, historia transakcji, parametry kontraktów (minimalna wielkość, krok ceny i ilości).
- WebSocket – strumień notowań i zmian w arkuszu zleceń; każda wiadomość to obiekt JSON.
- JSON-RPC węzłów – Bitcoin Core i węzły Ethereum przyjmują zapytania i zwracają odpowiedzi w JSON-ie, np. o bloki, transakcje czy stawki opłat.
- Webhooki – alert z platformy wykresowej wysyła do bota treść w JSON-ie, np. kierunek, instrument i wielkość.
- Konfiguracja botów – parametry strategii, klucze, limity ryzyka często trzyma się w pliku JSON.
- Eksport historii – dane do rozliczenia podatku bywają dostępne jako JSON obok CSV.
Przykład: od odpowiedzi API do poprawnego zlecenia
Załóżmy, że chcesz kupić BTC za 1 000 USDT. API zwraca "askPrice": "64250.20", a w parametrach instrumentu "stepSize": "0.001", czyli ilość musi być wielokrotnością 0,001 BTC.
- Surowa ilość: 1 000 / 64 250,20 ≈ 0,015564 BTC.
- Zaokrąglenie w dół do kroku 0,001: 0,015 BTC. Zaokrąglenie w górę dałoby zlecenie większe niż budżet.
- Faktyczna wartość zlecenia: 0,015 × 64 250,20 ≈ 963,75 USDT.
Jeśli wyślesz 0,015564, giełda odrzuci zlecenie z błędem – również w JSON-ie, z kodem i opisem. Drugi haczyk to arytmetyka zmiennoprzecinkowa: w wielu językach 0,1 + 0,2 daje 0,30000000000000004. Dlatego giełdy podają ceny jako tekst, a rozsądny skrypt zamienia je na typ dziesiętny o stałej precyzji, a nie na zwykłą liczbę zmiennoprzecinkową.
Najczęstsze błędy
- Traktowanie cen i ilości jako liczb zmiennoprzecinkowych i wysyłanie ich z „ogonem” cyfr.
- Brak obsługi błędów – skrypt zakłada, że odpowiedź zawsze ma oczekiwane pole, i przestaje działać przy komunikacie o błędzie lub limicie zapytań.
- Mylenie jednostek: ilość w monecie bazowej, w kontraktach albo w USDT – każda giełda opisuje to inaczej.
- Znaczniki czasu w milisekundach czytane jak sekundy (lub odwrotnie).
- Klucze API zapisane w pliku konfiguracyjnym JSON, który trafia do publicznego repozytorium.
- Niepoprawna składnia: pojedyncze cudzysłowy, przecinek po ostatnim elemencie, komentarze – standard JSON ich nie dopuszcza.
Perspektywa tradera
Nie musisz programować, ale jeśli używasz bota albo alertów przez webhook, umiejętność przeczytania JSON-a oszczędza nerwów. Gdy bot złożył złe zlecenie, pierwsze pytanie brzmi: co dokładnie wysłał i co giełda odpowiedziała. Odpowiedź jest w logu, w JSON-ie. Przed uruchomieniem automatu sprawdź w danych instrumentu minimalną wartość zlecenia, krok ceny i ilości oraz sposób podawania wielkości pozycji. Wielkość pozycji licz od ryzyka, a nie od „ile się zmieści” – do tego przyda się kalkulator wielkości pozycji. W pliku konfiguracyjnym ustaw twardy limit wielkości zlecenia – literówka w webhooku nie powinna otworzyć pozycji dziesięć razy większej.
Najczęstsze pytania
Czym różni się JSON od CSV?
CSV to płaska tabela: wiersze i kolumny. JSON pozwala zagnieżdżać dane, np. zlecenie z listą częściowych realizacji. Do arkusza kalkulacyjnego wygodniejszy jest CSV, do komunikacji programów – JSON.
Czy JSON jest bezpieczny?
To tylko format zapisu, nie ma w nim szyfrowania. Bezpieczeństwo zapewnia połączenie HTTPS i podpisywanie zapytań kluczem API. Pliku JSON z kluczami nie udostępniaj nikomu.
Dlaczego giełdy podają ceny w cudzysłowie?
Żeby uniknąć błędów zaokrągleń przy konwersji na liczby zmiennoprzecinkowe. Tekst zachowuje dokładnie tyle cyfr, ile podała giełda.
Czym jest JSON-RPC?
To protokół wywoływania funkcji zdalnych, w którym zapytanie i odpowiedź są zapisane w JSON-ie. Używają go m.in. węzły Bitcoina i Ethereum.
Jak czytelnie podejrzeć długą odpowiedź JSON?
Użyj narzędzia do formatowania, np. wbudowanego podglądu w przeglądarce albo programu jq w wierszu poleceń. Wcięcia pokazują strukturę danych.
Tekst ma charakter edukacyjny i nie stanowi rekomendacji inwestycyjnej.


