JSON mit zwei Leerzeichen einrücken oder durch Entfernen von Leerraum außerhalb der Strings minifizieren. Die ursprüngliche Zahlenschreibweise, Escape-Sequenzen und Schlüsselreihenfolge bleiben erhalten. Zusätzlich lassen sich Objekte in Abfrageparameter umwandeln und Textfragmente escapen oder dekodieren.
Läuft lokal in deinem BrowserAuch einzelne Strings, Zahlen, boolesche Werte und null sind gültige JSON-Eingaben. Ein Objekt an der Wurzel ist nur für die Umwandlung in Abfrageparameter erforderlich.
Die Eingabe erfolgt durch Einfügen, ohne Datei-Upload oder Abruf von URL-Inhalten; Formatierung und Textumwandlungen laufen im Browser, und große Eingaben hängen von dessen verfügbarem Speicher ab.
Beim Formatieren und Minifizieren bleiben 9007199254740993, 1.234567890123456789 und 1e400 unverändert. Auch -0, nachgestellte Dezimalnullen wie in 1.2300 und die Exponentialschreibweise werden bewahrt. Wenn ein anderes Programm die Ausgabe als Gleitkommazahlen einliest, kann dort weiterhin Präzision verloren gehen.
Doppelte Schlüssel in {"a":1,"a":2} bleiben ebenfalls stehen. Nachfolgende Parser können sie unterschiedlich auswerten. Die Parameterkonvertierung lehnt doppelte Schlüssel auf oberster Ebene ab.
Kommentare, abschließende Kommas, Schlüssel ohne doppelte Anführungszeichen, NaN und Infinity werden abgelehnt. Die Prüfung kontrolliert weder Pflichtfelder noch ein JSON Schema und repariert keine Fehler.
Jede Eigenschaft des Wurzelobjekts ergibt ein Schlüssel-Wert-Paar. Strings liefern ihren dekodierten Text, null einen leeren Wert. Zahlen und boolesche Werte werden zu Text, wobei die Zahlenschreibweise erhalten bleibt. Verschachtelte Objekte und Arrays ergeben kompakte JSON-Strings, keine Pfade mit eckigen Klammern.
Aus {"q":"a b&c","user":{"id":9007199254740993}} wird q=a+b%26c&user=%7B%22id%22%3A9007199254740993%7D. Die Ausgabe ist bereits als Formulardaten für URLs kodiert: Leerzeichen werden zu +, reservierte Zeichen prozentkodiert. Nicht erneut kodieren. Ein führendes ? wird nicht ergänzt.
Nein. Escape macht aus zwei Zeilen A und B das Fragment A\nB. Unescape erwartet dieses Fragment ohne äußere doppelte Anführungszeichen und stellt den Zeilenumbruch wieder her. Leerraum am Anfang und Ende bleibt erhalten; Tabulatoren und Steuerzeichen werden ebenfalls maskiert. Ungültige Sequenzen wie \q werden beim Dekodieren abgelehnt.
Sie ersetzt UTF-16-Codeeinheiten außerhalb des ASCII-Bereichs durch \uXXXX; Zeichen außerhalb der Unicode-Basisebene benötigen Surrogatpaare. Beim Dekodieren bleiben fehlerhafte Tokens stehen, ein wörtliches \u0041 wird jedoch zu A. Gemischter Text ist daher nicht immer umkehrbar. Diese Textumwandlung prüft keine JSON-Syntax.