Konwertery

Formater i walidator JSON: formatowanie, minifikacja, błędy

Sformatuj albo zminifikuj JSON i sprawdź jego poprawność. Walidator wskaże wiersz i kolumnę błędu, opisze go po polsku i wykryje powtórzone klucze.

Obliczenia wykonuje Twoja przeglądarka. Wpisane dane nie są wysyłane na serwer.

Poprawny JSON.

    Składnia JSON w skrócie

    JSON opisuje RFC 8259. Wartością może być obiekt w nawiasach klamrowych, tablica w nawiasach kwadratowych, napis w podwójnych cudzysłowach, liczba albo jedno z trzech słów:true, false i null. Między elementami stoją przecinki, a klucz od wartości oddziela dwukropek. Białe znaki to tylko spacja, tabulator, znak nowej linii i powrót karetki.

    Najczęstsze błędy

    BłądPrzykładZasada z RFC 8259
    przecinek po ostatnim elemencie[1, 2,]po przecinku musi stać kolejna wartość
    apostrofy zamiast cudzysłowów{'a': 1}napisy i klucze są w podwójnych cudzysłowach
    klucz bez cudzysłowu{a: 1}klucz to napis
    zero wiodące007zera wiodące w liczbach są niedozwolone
    tabulator lub nowa linia w napisiedosłowny znak w "a b"znaki sterujące U+0000–U+001F trzeba escapować, np. \t

    Walidator podaje wiersz i kolumnę miejsca, w którym parser natrafił na błąd, i pokazuje ten fragment z zaznaczeniem. Przy brakującym przecinku wskazuje początek następnego elementu, bo dopiero tam widać, że czegoś brakuje.

    Powtórzone klucze i duże liczby

    RFC 8259 zaleca, by nazwy w obrębie obiektu były unikalne, i zaznacza, że przy powtórzeniach programy zachowują się różnie: część zwraca tylko ostatnią wartość. Walidator wypisuje ścieżki powtórzonych kluczy, np. $.uzytkownik.id.

    Formater korzysta z własnego parsera, a nie z JSON.parse, więc nie zaokrągla liczb wykraczających poza dokładność typu Number w JavaScripcie i zostawia ich zapis bez zmian.

    Najczęstsze pytania

    Czy w JSON można zostawić przecinek po ostatnim elemencie?

    Nie. Gramatyka JSON z RFC 8259 nie dopuszcza przecinka przed nawiasem zamykającym obiekt lub tablicę. Walidator wskaże miejsce takiego przecinka.

    Czy JSON dopuszcza apostrofy i komentarze?

    Nie. Według RFC 8259 napisy i nazwy kluczy zapisuje się w podwójnych cudzysłowach, a gramatyka nie przewiduje komentarzy.

    Czy formatowanie zmieni duże liczby?

    Nie w tym narzędziu. Formater zachowuje zapis liczb z wejścia, więc np. 12345678901234567890 zostaje bez zmian. Funkcja JSON.parse w JavaScripcie zamienia liczby na typ Number i może je zaokrąglić.

    Źródła

    1. RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format, IETF (2017)
    2. JSON.parse(), MDN
    • Konwertery

      Base64

      Zakoduj tekst lub plik w Base64 albo zdekoduj Base64 z powrotem, z obsługą polskich znaków (UTF-8), wariantu base64url i adresów data:.

    • Konwertery

      Timestamp Unix

      Zamień znacznik czasu Unix (sekundy, milisekundy, mikro- lub nanosekundy) na datę w dowolnej strefie czasowej albo datę na znacznik czasu.

    • Konwertery

      Kodowanie URL

      Zakoduj tekst do bezpiecznej postaci w adresie URL (np. spacja jako %20, ą jako %C4%85) albo zdekoduj zakodowany adres i rozłóż go na części oraz parametry.

    • Konwertery

      Systemy liczbowe

      Wpisz liczbę w dowolnym z czterech systemów, a konwerter pokaże ją w pozostałych, także dla bardzo dużych liczb i w kodzie uzupełnień do dwóch dla 8–64 bitów.

    Niezbędne (zawsze włączone). Pamięć przeglądarki przechowuje wybrany motyw, polubione artykuły i Twoją decyzję o zgodzie. Nie używamy do tego plików cookies.