Tekst do JSON
Łatwo konwertuj ciągi tekstowe na format JSON
Wejście
Wyjście
Czym jest Tekst do JSON?
Czasami JSON jest przesyłany jako ciąg: eskejpowany, podwójnie zakodowany lub opakowany w cudzysłowy. Ciąg taki jak "{\"a\": 1}" jest ciągiem JSON, którego wartością jest JSON. Aby go sparsować, należy wykonać dwa parsowania: najpierw zewnętrzny ciąg, a następnie wewnętrzny JSON. To narzędzie to robi. Obsługuje też przypadki gdy wejście jest zwykłym ciągiem, który powinien być sparsowany jako JSON.
Narzędzie używa JSON.parse() w przeglądarce. Jeśli wejście jest ciągiem zawierającym JSON, parsuje ponownie. Żadne dane nie są wysyłane na serwer.
Jak korzystać z tego narzędzia
Wklej ciąg tekstowy
Wklej ciąg, który chcesz sparsować. Może to być zwykły ciąg JSON, eskejpowany ciąg JSON (np. z logu lub API) lub podwójnie zakodowana wartość. W razie potrzeby użyj Przykładu lub Wczytaj.
Wyświetl sparsowane wyjście
Prawy panel pokazuje sparsowany JSON. Jeśli wejście było ciągiem zawierającym JSON, narzędzie parsuje go ponownie. Nieprawidłowe wejście pokazuje błąd. Wyjście jest sformatowane dla czytelności.
Kopiuj, pobierz lub minimalizuj
Użyj Kopiuj, Pobierz lub Minimalizuj aby uzyskać wynik. Do eskejpowania lub uneskejpowania ciągów użyj JSON Escape. Do walidacji użyj Walidatora JSON.
Przykłady: Tekst do JSON
Parsowanie eskejpowanego lub sformatowanego jako ciąg JSON. Przykład z branży telekomunikacyjnej:
Wejście (ciąg JSON)
Sparsowane wyjście
Kiedy tego potrzebujesz
JSON przechowywany w bazie danych jako kolumna tekstowa często zwracany jest jako eskejpowany ciąg. Odpowiedzi API opakowujące JSON w inny ciąg JSON wymagają podwójnego parsowania. Logi zapisujące JSON jako ciąg wymagają tego samego. Specyfikacja JSON zezwala ciągom zawierającym eskejpowany JSON; parsowanie tego ciągu daje wewnętrzną strukturę. To narzędzie automatyzuje ten dodatkowy krok parsowania.
Podczas testowania API w Postmanie lub debugowania odpowiedzi w DevTools możesz otrzymać wartość JSON jako ciąg. Dokumentacja JSON.parse() wyjaśnia reguły parsowania. Formalnym standardem jest RFC 8259. Przewodnik MDN po JSON omawia typowe pułapki.
Jeśli potrzebujesz eskejpować lub uneskejpować znaki w ciągu (np. cudzysłowy, ukośniki odwrotne), użyj JSON Escape. Do formatowania już sparsowanego JSON użyj Formatera JSON.
Przykład: Konwersja zestringowanego JSON
Zestringowany JSON — wejście:
"{\"name\":\"Alice\",\"age\":30,\"active\":true}"Sparsowany JSON — wyjście:
{
"name": "Alice",
"age": 30,
"active": true
}Często zadawane pytania
Co jeśli moje wejście jest już prawidłowym JSON?
Narzędzie sparsuje je i pokaże wynik. Jeśli jest to ciąg zawierający JSON, parsuje ponownie. Zatem {"a": 1} działa, a "{\"a\": 1}" jest parsowany dwukrotnie aby uzyskać {"a": 1}.
Ile poziomów parsowania wykonuje?
Parsuje dopóki wynik jest ciągiem. Zatem "\"{\\\"a\\\": 1}\"" (potrójne kodowanie) jest parsowany aż do uzyskania obiektu. W praktyce zazwyczaj 2–3 poziomy to maksimum.
Czy dane są wysyłane gdzieś?
Nie. Parsowanie odbywa się w przeglądarce.
Co z nieprawidłowym JSON w ciągu?
Otrzymasz błąd parsowania. Popraw składnię (końcowe przecinki, klucze bez cudzysłowów itp.) i spróbuj ponownie. Walidator JSON może pomóc zidentyfikować problemy.
Kiedy mam podwójnie zakodowany JSON?
Gdy JSON jest przechowywany jako ciąg w kolumnie bazy danych, lub gdy API zwraca obiekt JSON, w którym jedna z wartości jest JSON jako ciąg. Parsowanie zewnętrznego JSON daje ciąg; parsowanie tego ciągu daje wewnętrzny JSON.
Powiązane narzędzia
Do parsowania JSON w JavaScript zob. MDN JSON.parse i przewodnik MDN po JSON. RFC 8259 definiuje składnię JSON. Specyfikacja JSON na json.org zawiera gramatykę. Zobacz też jq i Postman. Do eskejpowania ciągów użyj JSON Escape.