Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Formater payloadów API

Formatuj, minifikuj i waliduj payloady API: JSON, XML, YAML, GraphQL. Kolorowanie składni, wykrywanie błędów, porównanie diff. Bezpłatnie, działa lokalnie.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
262 znaków

Tryb

Pretty JSON (czytelny)

sposób przetwarzania wybrany w ustawieniach

Rozmiar przed

262 znaków

długość wklejonych danych

Rozmiar po

314 znaków

długość wyniku po przetworzeniu

Elementy

11

licznik rekurencyjny silnika — kluczy JSON

Typ danych

JSON
{
    "event": "user.created",
    "meta": {
        "ip": "203.0.113.10",
        "source": "web"
    },
    "user": {
        "email": "[email protected]",
        "id": 12345,
        "profile": {
            "firstName": "Alice",
            "lastName": "Nowak",
            "locale": "pl-PL"
        }
    }
}
Każdy wynik policzony dokładnie tym samym silnikiem co wynik narzędzia; wieloliniowe przykłady (pretty JSON) spłaszczone separatorem | dla czytelności tabeli.
TrybPrzykład wejściaWynik silnikaKiedy używać
Pretty JSON (czytelny) {"b":2,"a":1} { | "b": 2, | "a": 1 | } przeglądanie i edycja odpowiedzi API, dokumentacja, diff w code review
Minify JSON (zwarty) { | "b": 2, | "a": 1 | } {"b":2,"a":1} wysyłka payloadu, zapis w cache, logu albo zmiennej środowiskowej
Napraw JSON z ucieczkami (unescape) {\"a\": \"1\"} { | "a": "1" | } payload podwójnie zakodowany — pochodzi z logu, kolejki albo zagnieżdżonego JSON-a
Normalizuj nagłówki (Klucz: Wartość) X-API-Key : abc123 | Host:example.com X-API-Key: abc123 | Host: example.com porządkowanie nagłówków żądania/odpowiedzi przed wysłaniem albo dokumentacją
JSON → ciąg zapytania (form-urlencoded) {"page":2} page=2 zamiana JSON-a na x-www-form-urlencoded dla żądań formularzowych i starych API

Silnik obsługuje pięć trybów (walidacja w kodzie: pretty_json, minify_json, fix_escaped_json, normalize_headers, json_to_query) — ostatni (JSON → ciąg zapytania, http_build_query) jest dostępny poza rozwijaną listą trybów. Przy sortowaniu kluczy (checkbox) obiekty JSON sortują się rekurencyjnie, a puste {} i [] zachowują swój typ.

Warto wiedzieć — payload API

JSON a form-urlencoded

JSON (application/json) jest dziś standardem dla API REST — przenosi zagnieżdżone struktury i typy. application/x-www-form-urlencoded to prosty format par klucz=wartość z formularzy HTML; starsze systemy i bramki płatnicze często wymagają właśnie jego. Tryb json_to_query robi tę konwersję jednym kliknięciem.

Podwójnie zakodowany JSON

Payload z logu albo kolejki często wygląda tak: "{\"a\": 1}" — JSON zapakowany jako ciąg znaków z ucieczkami. Tryb naprawiania zdejmuje cudzysłowy i \\n, po czym dekoduje tekst do czytelnego JSON-a. Zjawisko nazywa się double encoding i zdarza się przy wielokrotnym json_encode.

Format zapisu nie zmienia danych

Pretty i minify JSON znaczą dokładnie to samo — różni je tylko biała spacja. Czytelny zapis wybieraj do pracy człowieka (debug, review, dokumentacja), zminifikowany do transportu i przechowywania: mniejszy payload to szybsze żądanie i mniejszy rachunek za transfer.

Payload a bezpieczeństwo

Dane w payloadzie żądania to dane od klienta — serwer musi je każdą osobno zwalidować (typy, zakresy, uprawnienia), niezależnie od tego, jak ładnie wyglądają. Sformatowanie pomaga je przejrzeć przed wysyłką: bez wyciekających tokenów, danych osobowych i przypadkowych pól testowych.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Formater payloadów API – JSON, XML, YAML z kolorowaniem składni

Praca z API wymaga ciągłego formatowania i walidowania payloadów: nieuporządkowany JSON z odpowiedzi, skompresowany XML z webservice, zagnieżdżony YAML konfiguracji. Narzędzie formatuje z kolorowaniem składni, wykrywa błędy i minifikuje dla produkcji.

formater JSON API walidator payloadów JSON XML YAML formatter API payload formatter

Obsługiwane formaty i funkcje

JSON: formatowanie z wcięciem 2/4 spacji lub tabulatorem, sortowanie kluczy (opcjonalnie), minifikacja, walidacja RFC 7159. XML: pretty-print z wcięciami, walidacja well-formedness, namespace-aware. YAML: formatowanie z wgłębieniami, konwersja do/z JSON. GraphQL: formatowanie queries i mutations.

Formatowanie vs minifikacja

Pretty-print (czytelny): wcięcia, nowe linie, spacje po dwukropkach. Rozmiar ~2-4× większy niż minified. Minifikacja: usunięcie zbędnych białych znaków. JSON: {"key":"val"} zamiast { "key": "val" }. Użycie: pretty-print do debugowania i dokumentacji; minified do produkcji (mniejszy transfer).

Wykrywanie błędów i walidacja

JSON: "unexpected token" (brak cudzysłowów, trailing comma, komentarze). XML: "mismatched tag" (niezamknięty element), "invalid character" (& bez encji). YAML: indentation errors, tab chars, brak spacji po dwukropku. Narzędzie wskazuje numer linii i kolumny błędu.

Diff i porównanie payloadów

Tryb diff: porównaj dwa JSON/XML side-by-side (kolorowanie dodanych/usuniętych/zmienionych kluczy). Użyteczne: porównanie odpowiedzi API v1 i v2, weryfikacja że deployment nie zmienił struktury. JSON Patch (RFC 6902): lista zmian w formacie JSON.

Jak działa formater i walidator

Formatowanie payloadu przebiega w trzech etapach: tokenizacja, parsowanie i serializacja. Tokenizer przechodzi tekst znak po znaku i rozpoznaje tokeny — nawiasy, cudzysłowy, liczby, nazwy kluczy. Parser układa z nich drzewo zależności, a serializator wypisuje to drzewo z powrotem jako tekst, ale już z wcięciami i łamaniem linii zgodnie z wybranym ustawieniem. Minifikacja to ten sam proces z pominięciem białych znaków między tokenami.

Rozmiar wyniku zależy od liczby poziomów zagnieżdżenia. Każdy poziom to jedno wcięcie na początku linii, więc przy wcięciu 4 spacje zamiast 2 spacje warstwa bieli zajmuje dwa razy więcej znaków. Praktyczna reguła z danych narzędzia: pretty-print jest 2–4× większy od wersji zminifikowanej, czyli minifikacja oszczędza od 50% do 75% objętości pliku przesyłanego w sieci.

Walidacja zachodzi w trakcie parsowania — parser zatrzymuje się na pierwszym tokenie, którego nie da się dopasować do gramatyki języka: JSON wg RFC 7159, XML pod kątem well-formedness, YAML pod kątem wgłębień. Dlatego komunikat błędu wskazuje linię i kolumnę zatrzymania parsera, a nie zawsze samo miejsce, w którym autor popełnił pomyłkę. W JSON brakujący cudzysłów ujawnia się zwykle o kilka tokenów dalej niż został postawiony.

Przykład krok po kroku: odpowiedź API z trailing comma

  1. Wklejasz do pola wejściowego surową odpowiedź endpointu, np. obiekt listy zamówień, który przyszedł jako jeden nieprzerwany ciąg znaków bez wcięć.
  2. Narzędzie rozpoznaje format po pierwszym znaku nawiasu klamrowego i wybiera parser JSON; przy XML decyduje znak nawiasu ostrego, przy YAML pierwsza para klucz–wartość.
  3. Uruchamiasz formatowanie z wcięciem 2 spacje. Każdy klucz i wartość trafiają do osobnej linii, składnia zostaje pokolorowana, a struktura zagnieżdżenia staje się widoczna na pierwszy rzut oka.
  4. Walidacja zwraca błąd składni po ostatnim elemencie obiektu — przecinek przed nawiasem zamykającym. Komunikat podaje linię i kolumnę, w której parser przerwał pracę.
  5. Usuwasz przecinek i powtarzasz walidację. Dokument przechodzi kontrolę zgodną z RFC 7159, więc możesz go traktować jako poprawny payload.
  6. Kopiujesz wersję zminifikowaną, jeśli ten sam payload ma trafić do testu integracyjnego albo do żądania produkcyjnego, gdzie liczy się każdy kilobajt transferu.

Formaty i funkcje — tabela referencyjna

Format lub funkcjaCo narzędzie wykonujeWynik lub ograniczenie
JSONwcięcie 2 lub 4 spacje, opcjonalne sortowanie kluczy, minifikacjawalidacja składni zgodna z RFC 7159
XMLpretty-print z wcięciami, praca ze świadomością przestrzeni nazwkontrola well-formedness, bez oceny zgodności ze schematem
YAMLformatowanie wgłębień, konwersja do i z JSONbłąd przy tabulatorach i przy braku spacji po dwukropku
GraphQLformatowanie queries i mutationsnie wykonuje zapytań ani nie sprawdza schematu
Minifikacjausunięcie zbędnych białych znaków między tokenamiwynik 2–4× mniejszy od pretty-print, czyli oszczędność 50–75%
Diff payloadówporównanie dwóch dokumentów obok siebiekolorowanie dodanych, usuniętych i zmienionych kluczy
JSON Patchzapis różnic jako listy operacji wg RFC 6902nie zastępuje analizy, czy zmiana jest zamierzona

Praktyczne wskazówki

  • Najpierw waliduj, potem formatuj — formatowanie niepoprawnego dokumentu tylko rozciąga błąd na więcej linii i utrudnia jego zlokalizowanie. Dopiero czysty składniowo payload warto układać wcięciami.
  • Ustal jedno wcięcie w całym projekcie — 2 spacje w repozytorium, 4 spacje tylko tam, gdzie zespół już tak pracuje. Mieszanie 2 spacji i tabulatora w jednym pliku generuje hałaśliwe diffy.
  • Do repozytorium wersja czytelna, do sieci zminifikowana — kod przegląda się łatwiej w formie z wcięciami, a transfer i pamięć podręczna korzystają z wersji bez białych znaków.
  • Pamiętaj o znakach specjalnych w XML — znak ampersand rozpoczyna encję, więc w treści musi być zapisany jako encja, inaczej parser uzna dokument za niepoprawny.
  • Przy zmianach wersji API korzystaj z trybu diff — porównanie odpowiedzi dwóch wersji endpoinu pokazuje, czy doszły nowe klucze i czy nie zniknęły pola, których używa klient.

Czego narzędzie nie sprawdza

  • Zgodności ze schematem — walidator bada składnię języka (RFC 7159 dla JSON, well-formedness dla XML), a nie zgodność z JSON Schema, XSD czy kontraktem OpenAPI. Payload może być składniowo poprawny i jednocześnie niezgodny z umową API.
  • Sensu danych — narzędzie nie oceni, czy kwota jest dodatnia, czy data jest w przyszłości ani czy identyfikator wskazuje istniejący zasób. To zadanie logiki aplikacji, nie parsera.
  • Nietypowych konstrukcji YAML — kotwice, aliasy i własne tagi bywają zapisywane po formatowaniu inaczej niż w oryginale, mimo że dokument pozostaje równoważny znaczeniowo.
  • Wydajności przy bardzo dużych plikach — parsowanie i kolorowanie odbywa się po stronie przeglądarki, więc przy obszernych payloadach interfejs może reagować wolniej albo się zawiesić.

Najczęstsze pytania

Jak wygenerować poprawny payload JSON?

Klucze w cudzysłowach podwójnych (nie pojedynczych). Brak trailing comma po ostatnim elemencie. null/true/false (nie NULL/True). Stringi z escape: \" (cudzysłów), \n (nowa linia), \\ (backslash). Kodowanie: UTF-8. Nie ma komentarzy w JSON (użyj JSONC lub usuń przed wysłaniem).

Co to jest application/json vs text/plain?

Content-Type: application/json informuje API, że body to JSON. Bez tego nagłówka: serwer może odrzucić lub źle sparsować. Do wysyłania: -H "Content-Type: application/json" w cURL. Accept: application/json: mówi serwerowi że klient oczekuje JSON w odpowiedzi.

Jak debugować błędny payload XML?

Sprawdź 1) XML declaration (). 2) Root element (dokładnie jeden). 3) Zamknięte tagi (content lub ). 4) Znaki specjalne zamienione na encje: & → & < → < > → > " → ". 5) Namespace deklaracje (xmlns="...").

Co to jest GraphQL payload i jak go sformatować?

GraphQL query: { user(id: 1) { name, email, posts { title } } }. Mutation: mutation { createUser(name: "Jan") { id } }. Variables: {"id": 1}. Endpoint: POST /graphql z body: {"query":"...","variables":{...}}. Narzędzie formatuje z podświetleniem składni i walidacją podstawową.

Jak używać narzędzia przy Postman/Insomnia?

Skopiuj body request lub response z Postman. Wklej do narzędzia. Kliknij "Format". Skopiuj sformatowany wynik z powrotem do Postman. Alternatywnie: Postman ma wbudowane "Beautify" (Ctrl+B) dla JSON, ale nie dla XML. Narzędzie obsługuje wszystkie formaty.

Czy formatowanie zmienia wartości w payloadzie?

Nie. Zmieniają się wyłącznie białe znaki i układ linii, a wartości oraz typy pozostają bez zmian. Jedyny wyjątek to włączone sortowanie kluczy, które przestawia kolejność pól, ale nie ich treść.

Dlaczego JSON nie przyjmuje komentarzy?

RFC 7159 nie przewiduje komentarzy w tym formacie, więc zapis w stylu dwóch ukośników albo bloku z gwiazdkami jest błędem składni. Przed walidacją usuń komentarze z payloadu albo przenieś je do dokumentacji.

Jak porównać dwie odpowiedzi API różniące się kolejnością kluczy?

Włącz sortowanie kluczy w obu dokumentach, a potem uruchom tryb diff. Bez tego narzędzie pokaże przestawione pola jako zmiany, choć dane są identyczne.

Czym różni się walidacja JSON od walidacji XML?

W JSON parser sprawdza zgodność z gramatyką RFC 7159, czyli między innymi cudzysłowy i brak przecinka po ostatnim elemencie. W XML kontrolowana jest well-formedness, czyli domknięcie znaczników i poprawność encji, przy zachowaniu informacji o przestrzeniach nazw.

Do czego wykorzystuje się JSON Patch?

JSON Patch to lista operacji wg RFC 6902 opisująca różnice między dwoma dokumentami. Przydaje się, gdy zamiast wysyłać cały payload ponownie, chcesz przekazać tylko zmienione fragmenty.

Powiązane narzędzia: walidator JSON, konwerter JSON na CSV i konwerter cURL na Fetch API.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!