JSON Escape / Unescape
Wykonuj escape i unescape ciągów JSON – konwertuj znaki specjalne na sekwencje ucieczki
Wejście
Wyjście
Czym jest JSON Escape / Unescape?
Próbowałeś kiedyś zapisać obiekt JSON w kolumnie bazy danych albo otrzymałeś z API ciąg pełen \" i \\ wszędzie? To właśnie eskejpowanie JSON. Standard RFC 8259 wymaga eskejpowania określonych znaków w ciągach — cudzysłowów, ukośników odwrotnych, znaków nowej linii, tabulatorów i znaków kontrolnych — żeby parser JSON nie mylił ich ze składnią. To narzędzie robi obie rzeczy: eskejpuje zwykły tekst do poprawnego ciągu JSON, albo odwraca eskejpowanie ciągu z sekwencjami ucieczki z powrotem do właściwych znaków.
To narzędzie ma dwa tryby: Escape i Unescape. Przełączaj między nimi na górze strony. Oba działają w przeglądarce; żadne dane nie są wysyłane na serwer.
Jak korzystać z tego narzędzia
Wybierz tryb
Wybierz Escape aby konwertować znaki specjalne na sekwencje ucieczki, lub Unescape aby wykonać operację odwrotną.
Wklej dane wejściowe
Wklej tekst do lewego edytora. Możesz wkleić surowy ciąg, wartość ciągu JSON lub pełny dokument JSON. W razie potrzeby użyj Przykładu lub Wczytaj.
Skopiuj wynik
Prawy panel aktualizuje się automatycznie. Użyj Kopiuj lub Pobierz aby uzyskać wynik. Do parsowania eskejpowanych ciągów JSON na obiekty wypróbuj Tekst do JSON.
Przykłady JSON Escape
Escape konwertuje znaki specjalne na sekwencje ucieczki. Przykład z branży telekomunikacyjnej:
Surowe wejście (z nową linią)
Eskejpowane wyjście
Kiedy eskejpowanie ma znaczenie
Gdy osadzasz ciąg JSON wewnątrz innego ciągu JSON, lub gdy przechowujesz JSON w polu bazy danych oczekującym ciągu, eskejpowanie zapewnia, że wewnętrzne cudzysłowy i ukośniki odwrotne nie psują struktury. Podczas programowego tworzenia JSON, JSON.stringify() obsługuje eskejpowanie automatycznie. To narzędzie służy do ręcznej edycji lub pracy z już eskejpowanymi ciągami z logów lub API.
Unescape jest przydatny gdy otrzymujesz podwójnie eskejpowany ciąg (np. z API zwracającego JSON jako ciąg) i potrzebujesz uzyskać właściwy JSON. Narzędzie Tekst do JSON może bezpośrednio parsować eskejpowane ciągi.
Często zadawane pytania
Jakie znaki muszą być eskejpowane w JSON?
Standard RFC 8259 wymaga eskejpowania: cudzysłowów " → \", ukośników odwrotnych \ → \\, znaków nowej linii → \n, tabulatorów → \t, powrotów karetki → \r i znaków kontrolnych (U+0000–U+001F) → \uXXXX.
Jak odwrócić eskejpowanie ciągu JSON w JavaScript?
Użyj JSON.parse(). Jeśli eskejpowany ciąg jest ujęty w cudzysłowy, JSON.parse('"' + escaped + '"') konwertuje go do rzeczywistej wartości. W przypadku pełnego obiektu JSON, JSON.parse(jsonString) jednocześnie odwraca eskejpowanie i parsuje.
Kiedy potrzebuję odwrócić eskejpowanie JSON?
Gdy otrzymujesz podwójnie eskejpowany JSON — na przykład API, które zwraca JSON jako ciąg w innym JSON, lub pole bazy danych przechowujące JSON jako string. Unescape usuwa zewnętrzną warstwę, żebyś mógł pracować z właściwym JSON.
Czy JSON.stringify() automatycznie eskejpuje znaki?
Tak. JSON.stringify() automatycznie eskejpuje cudzysłowy, ukośniki odwrotne, znaki nowej linii i znaki kontrolne. To narzędzie jest przydatne gdy ręcznie edytujesz ciągi, debugujesz źle sformatowany JSON lub pracujesz z już eskejpowanymi ciągami z logów lub API.
Czy moje dane są wysyłane na serwer?
Nie. Całe przetwarzanie odbywa się w przeglądarce. Twoje dane nigdy nie opuszczają urządzenia, co czyni to narzędzie bezpiecznym dla JSON zawierającego poufne informacje.
Powiązane narzędzia
Reguły eskejpowania ciągów JSON opisane są w RFC 8259. MDN omawia JSON w JavaScript. Specyfikacja JSON definiuje wszystkie sekwencje ucieczki. Do parsowania zob. JSON.parse() i JSON.stringify(). Narzędzie jq obsługuje JSON z wiersza poleceń.