JSON stringify online: obiekt JavaScript w ścisły JSON
Wklej obiekt JavaScript z kluczami bez cudzysłowów, z apostrofami, komentarzami lub przecinkiem po ostatnim elemencie i dostań ścisły JSON z escapowaniem. To narzędzie do JSON stringify online czyta tekst parserem i nigdy nie uruchamia go jako kodu, więc możesz wkleić tekst z konsoli, z pliku konfiguracyjnego albo z przykładu kodu.
JSON stringify online: jak to zrobić
- Wklej obiekt do pola Obiekt JavaScript lub JSON. Po wklejeniu konwersja następuje od razu. Gdy piszesz, wynik odświeża się około 300 milisekund po tym, jak przestaniesz.
- W polu Format wybierz wygląd wyniku: Zminifikowany (domyślnie, jedna linia), 2 spacje lub 4 spacje.
- Wynik przeczytasz pod nagłówkiem Ścisły JSON. Pod nim pojawiają się „Przekonwertowano na ścisły JSON.” i liczba znaków.
- Wybierz Kopiuj, tuż pod wynikiem. Przycisk na chwilę zmienia się w Skopiowano.
- Wybierz Wyczyść, aby opróżnić pole i zacząć od nowa.
Mały przykład: wklejasz {name: 'Ana', tags: ['a', 'b',], id: 0xFF}. Przy opcji Zminifikowany wynik to {"name":"Ana","tags":["a","b"],"id":255}.
Jaką luźną składnię JavaScript narzędzie czyta
Tekst jest czytany parserem JSON5, który zna różnice między literałem obiektu w JavaScript a JSON-em. Każda z tych form jest konwertowana, a nie odrzucana:
- Klucz bez cudzysłowów:
{name: "Ana"}staje się{"name":"Ana"}. - Ciąg w apostrofach:
{a: 'x'}staje się{"a":"x"}. - Przecinek po ostatnim elemencie:
[1, 2,]staje się[1,2]. - Komentarze:
// notatkai/* notatka */są usuwane. - Liczba szesnastkowa:
0xFFstaje się255. - Plus na początku albo sama kropka dziesiętna:
+1,.5i5.stają się1,0.5i5. - NaN i Infinity:
{a: Infinity}staje się{"a":null}. - Ciąg rozbity na kilka linii ukośnikiem odwrotnym staje się jednym ciągiem bez końca linii.
Cudzysłowy, ukośniki odwrotne i końce linii wewnątrz ciągu dostają escape automatycznie: 'He said "hi"' trafia do wyniku jako "He said \"hi\"". To, co już jest poprawnym JSON-em, przechodzi bez zmian, poza wybranym układem.
Minifikowanie JSON i wcięcia 2 lub 4 spacje
Menu Format znajduje się nad wynikiem. Opcja Zminifikowany zapisuje wszystko w jednej linii bez spacji, co przydaje się w treści żądania, w danych testowych albo w wartości, którą wkleisz do ciągu znaków.
Opcje 2 spacje i 4 spacje dają wynik z wcięciami, łatwiejszy do czytania i porównywania. Wynik zmienia się, gdy tylko wybierzesz opcję, a Kopiuj bierze to, co widzisz.
Czego narzędzie nie przeczyta i komunikat o błędzie
Przyjmowane są tylko dane, nie kod. Gdy parser się zatrzyma, pojawia się czerwone pole z tytułem Nie udało się odczytać, z jasnym powodem i pozycją, na przykład „Wiersz 1, kolumna 6”. Przy {a:1 b:2} parser zatrzymuje się na b i prosi, żebyś sprawdził, czy tuż przed tym miejscem nie brakuje przecinka, dwukropka, nawiasu lub cudzysłowu. Jeśli tekst kończy się, gdy nawias, klamra lub cudzysłów jest nadal otwarty, zobaczysz zamiast tego „Tekst kończy się zbyt wcześnie.”
const x = {a: 1}: parser zatrzymuje się na pierwszej literze. Wklej tylko sam obiekt.{a: 1};: zatrzymuje się na końcowym średniku. Usuń go.- Ciąg w odwróconych apostrofach (szablon) nie jest przyjmowany. Użyj pojedynczych lub podwójnych cudzysłowów.
undefined, funkcja albonew Date()nie są przyjmowane: to kod albo coś, co nie ma postaci w JSON. Zapisz datę jako ciąg znaków.- Gdy brakuje przecinka, dwukropka lub nawiasu, parser zatrzymuje się na znaku po przerwie i podaje wiersz oraz kolumnę.
Stringify JSON: liczby, powtórzone klucze i inne zmiany
Wynik powstaje w przeglądarkowym JSON.stringify, więc liczby są liczbami JavaScript. Ma to skutki, które warto znać przed skopiowaniem:
- Liczby całkowite powyżej
9007199254740991tracą dokładność:12345678901234567890zamienia się w12345678901234567000. 1.0staje się1, a0xFFstaje się255.- NaN, Infinity i -Infinity stają się
null. - Jeśli klucz pojawia się dwa razy, zostaje ostatnia wartość.
Jeśli dane są już poprawnym JSON-em i chcesz je tylko wciąć bez zmiany żadnej cyfry, użyj narzędzia „Formatowanie JSON”. Do sprawdzenia JSON-a ze schematem służy „Walidator JSON Schema”.
Limity i prywatność
- Do 5 000 000 znaków. Dłuższy tekst zostanie odrzucony z komunikatem, który podaje limit.
- Parsowanie nigdy nie uruchamia twojego tekstu, więc wklejony kod nie może się wykonać.
- Tekst jest konwertowany w całości na twoim urządzeniu. Nic nie jest wysyłane ani zapisywane.
Najczęstsze pytania
Jak z obiektu JavaScript zrobić JSON online?
Wklej obiekt do pola „Obiekt JavaScript lub JSON”. Konwersja następuje od razu po wklejeniu albo około 300 milisekund po tym, jak przestaniesz pisać, a ścisły JSON pojawia się pod „Ścisły JSON”. Wybierz „Kopiuj”, aby go zabrać. Wklej sam obiekt, nie linię taką jak const data = {...};.
Jak zastąpić pojedyncze cudzysłowy podwójnymi w JSON?
Wklej tekst. Każdy ciąg w pojedynczych cudzysłowach wychodzi w podwójnych, a podwójny cudzysłów w środku dostaje escape, więc 'He said "hi"' staje się "He said \"hi\"". Zmieniane są tylko ciągi i klucze, więc apostrof w ciągu w podwójnych cudzysłowach zostaje bez zmian.
Jak usunąć końcowy przecinek z JSON-a?
Wklej tekst. Przecinek po ostatnim elemencie obiektu lub tablicy, jak w [1, 2,], jest przyjmowany na wejściu i pomijany w wyniku pod „Ścisły JSON”. Nic innego w danych się nie zmienia.
Czy JSON może mieć klucze bez cudzysłowów albo komentarze?
Ścisły JSON nie może: każdy klucz i ciąg wymaga podwójnych cudzysłowów, a składni komentarzy nie ma. Obiekty JavaScript i pliki konfiguracyjne często mają jedno i drugie. To narzędzie je czyta, zapisuje klucze w podwójnych cudzysłowach i pomija komentarze, więc wynik jest poprawnym JSON-em.
JSON5 na JSON: czym różni się JSON od JSON5?
JSON5 to luźniejszy nadzbiór JSON-a, który dopuszcza klucze bez cudzysłowów, ciągi w apostrofach, przecinki po ostatnim elemencie, komentarze, liczby szesnastkowe i kilka innych form znanych z JavaScriptu. To narzędzie czyta taką składnię i zapisuje zwykły JSON, więc dokument JSON5 bez nieobsługiwanych wartości zamienia się w JSON, który przyjmie każdy parser.
Jak zminifikować JSON albo dać wcięcia 2 lub 4 spacje?
Użyj menu „Format” nad wynikiem. „Zminifikowany”, czyli opcja domyślna, daje jedną linię bez spacji. 2 spacje i 4 spacje dają wersję z wcięciami. Wynik i to, co bierze „Kopiuj”, zmieniają się, gdy tylko wybierzesz inną opcję.
Dlaczego widzę komunikat „Nie udało się odczytać”?
Tekst nie jest obiektem, tablicą ani wartością, którą parser rozumie. Czerwone pole podaje miejsce zatrzymania, na przykład „Wiersz 1, kolumna 6”, i co sprawdzić: brakujący tuż przed nim przecinek, dwukropek, nawias lub cudzysłów albo nawias, klamrę lub cudzysłów, które na końcu są nadal otwarte. Instrukcje takie jak const x = {...}, średnik na końcu, ciągi w odwróconych apostrofach, undefined, funkcje i new Date() nie są przyjmowane. Wklej sam obiekt.
Czy wklejony JavaScript jest wykonywany?
Nie. Tekst czyta parser (JSON5), nigdy eval, więc nic z tego, co wkleisz, nie może się uruchomić. Dlatego kod jest odrzucany: funkcja, nazwa zmiennej albo new Date() to błąd, a nie coś do obliczenia.
Dlaczego moja duża liczba się zmieniła i co dzieje się z NaN?
Liczby stają się liczbami JavaScript, które są dokładne tylko do 9007199254740991. 12345678901234567890 wychodzi jako 12345678901234567000, a 1.0 jako 1. Jeśli potrzebujesz każdej cyfry długiego identyfikatora, ujmij go w cudzysłów na wejściu albo użyj narzędzia „Formatowanie JSON”, które przepisuje liczby dokładnie tak, jak zapisano. NaN, Infinity i -Infinity stają się null, bo JSON nie ma dla nich zapisu. Jeśli klucz pojawia się dwa razy, wygrywa ostatnia wartość.
Jak zrobić escape JSON online i czym to się różni od JSON.stringify?
Nie musisz niczego robić: cudzysłów, ukośnik odwrotny lub koniec linii wewnątrz ciągu jest w wyniku zapisany jako \", \\ lub \n. Narzędzie nie zamyka całego JSON-a w jednym ciągu z escapami do wstawienia w inny ciąg, tylko daje sam JSON. Wynik powstaje w JSON.stringify, więc zasady wyjścia są te same. Różnica leży w wejściu: JSON.stringify potrzebuje prawdziwego obiektu w kodzie, a tu wklejasz tekst obiektu, także z luźną składnią. Limit to 5 000 000 znaków, a konwersja odbywa się na twoim urządzeniu, bez wysyłania i zapisywania.
Polecane
-
Notes Leuchtturm1917 A5 w kropkiNaszkicuj treść żądania na papierze, zanim ją wkleisz
-
Pionowa mysz ergonomiczna Logitech LiftOdciąża nadgarstek podczas długich sesji testowania API
-
Słuchawki Soundcore Q30 z redukcją szumówCisza do skupienia, gdy porządkujesz kolejny plik konfiguracyjny
Pomaga utrzymać narzędzia za darmo. ✨
Zdjęcia poglądowe. Jestem Partnerem Amazon i otrzymuję wynagrodzenie z tytułu określonych zakupów dokonywanych za moim pośrednictwem.