Narzędzia
PL

JSON Escape i Unescape

Zamień dowolny tekst w poprawny ciąg JSON – cudzysłowy, ukośniki odwrotne, podziały wierszy i tabulatory zostaną zakodowane automatycznie – albo odkoduj zakodowany ciąg z powrotem do czytelnego tekstu. Dwa dodatkowe tryby zamieniają dokument JSON na string i z powrotem.

Prywatnie: Twoje dane są przetwarzane w przeglądarce i nigdy nie trafiają na serwer.

Jak zakodować tekst do ciągu JSON (escape)

  1. Wybierz tryb: Koduj (escape), Dekoduj (unescape), Zamień JSON na string lub Zamień string na JSON.
  2. Wpisz lub wklej dane wejściowe – wynik pojawi się od razu. Przy kodowaniu zdecyduj, czy dodać cudzysłowy wokół tekstu i czy zapisywać znaki spoza ASCII jako \uXXXX.
  3. Skopiuj wynik lub naciśnij Zamień, aby odwrócić operację i sprawdzić, czy tekst wraca do pierwotnej postaci.

Znaki specjalne i sekwencje ucieczki w JSON

ZnakPo zakodowaniu
Cudzysłów podwójny "\"
Ukośnik odwrotny \\\
Znak nowej linii (line feed)\n
Powrót karetki (carriage return)\r
Tabulator\t
Backspace, wysunięcie strony (form feed)\b, \f
Pozostałe znaki sterujące U+0000–U+001F\u0000 … \u001f
Dowolny znak (opcjonalnie)\uXXXX, np. é → \u00e9, 😀 → \ud83d\ude00
Ukośnik / (opcjonalnie)\/

Apostrofów nigdy nie trzeba kodować w JSON, ponieważ ciągi znaków w JSON zawsze używają podwójnych cudzysłowów.

JSON zapisany jako string (stringified JSON)

Stringified JSON to dokument JSON zapisany wewnątrz ciągu znaków JSON – na przykład pole API w rodzaju "payload": "{\"id\":7}" albo JSON przechowywany w kolumnie bazy danych, zmiennej środowiskowej lub wierszu logu. Tryb Zamień JSON na string tworzy taki ciąg z dokumentu; tryb Zamień string na JSON rozpakowuje go – nawet jeśli został zamieniony na string dwukrotnie – i formatuje wynik.

Najczęściej zadawane pytania

Które znaki trzeba escapować w JSON?

Tylko cudzysłów podwójny, ukośnik odwrotny i znaki sterujące od U+0000 do U+001F, takie jak podziały wierszy i tabulatory. Wszystko inne – w tym ą, é, 中 i emoji – może występować bez zmian w JSON zakodowanym w UTF-8.

Dlaczego widzę \u0142 zamiast ł?

Niektóre programy zapisują każdy znak spoza ASCII jako sekwencję \uXXXX. Obie formy znaczą to samo; tryb „Dekoduj (unescape)” zamienia takie sekwencje z powrotem na czytelny tekst.

Czym różni się escape od stringify?

Escape zamienia dowolny tekst w literał ciągu JSON. Stringify najpierw sprawdza, czy dane wejściowe są poprawnym JSON, minifikuje je, a dopiero potem koduje, więc wynikiem jest ciąg znaków zawierający dokument JSON.

Czy mogę zdekodować ciąg bez zewnętrznych cudzysłowów?

Tak. Wklej treść z cudzysłowami na początku i końcu lub bez nich; tolerowane są też pojedyncze niezakodowane cudzysłowy i prawdziwe podziały wierszy.