Menü

Werkzeuge durchsuchenÄnderungsprotokoll

zum Navigieren zum ÖffnenBeschreiben Sie das Problem, nicht das Tool

Minimieren Sie JSON, ohne große Zahlen zu ändern

Wählen Sie die minimierte Ausgabe und deaktivieren Sie den letzten Zeilenumbruch, wenn jedes Byte zählt. Das Tool validiert die vollständige JSON-Grammatik, entfernt Leerzeichen nur dort, wo die Grammatik dies zulässt, und schreibt Zahlentoken genau so, wie sie angezeigt wurden, anstatt sie durch Gleitkommaarithmetik umzuwandeln.

Ein UTF-8-JSON-Dokument mit bis zu 25 MB. Seine Bytes bleiben in diesem Browser-Tab.

Bei beiden Optionen bleiben die Schlüsselreihenfolge, doppelte Schlüssel, String-Escapezeichen und die genaue Schreibweise jeder JSON-Nummer erhalten.

Wird nur für lesbare Ausgaben verwendet. Die minimierte Ausgabe hat keine Einrückung.

Ausgabebytes
Die genaue Bytelänge der herunterladbaren UTF-8-JSON-Datei.
Eingabebytes
Tiefste Verschachtelungsebene
Geschrieben als

Die Ergebnisse werden ohne Gewähr für ihre Richtigkeit bereitgestellt. Die Methode und ihre Quellen stehen unten, damit Sie den Rechenweg prüfen können.

Das Wichtigste
  1. Leerzeichen, Tabulatoren und Zeilenumbrüche innerhalb von Zeichenfolgen in Anführungszeichen sind Daten und werden niemals entfernt.

  2. Ein Wert wie 9007199254740993 bleibt genau so geschrieben.

  3. Das minimierte Ergebnis ist eine neue lokale Datei; Das Original wird nicht verändert.

So funktioniert es

So wird es gemacht

  1. Lesen Sie die Datei als striktes UTF-8. Akzeptieren und nutzen Sie aus Kompatibilitätsgründen eine anfängliche UTF-8-Bytereihenfolgemarkierung, schreiben Sie jedoch keine in das Ergebnis.
  2. Validieren Sie das gesamte Dokument als einen RFC 8259-JSON-Wert, bevor Sie ein Artefakt erstellen. Lehnen Sie eine leere Datei, ungültiges UTF-8, nachgestellte Inhalte oder fehlerhafte Objekte, Arrays, Zeichenfolgen, Zahlen und Literalnamen ab.
  3. Scannen Sie die validierte Quelle und verfolgen Sie dabei Zeichenfolgen in Anführungszeichen und Backslash-Escapezeichen. Kopieren Sie innerhalb einer Zeichenfolge jede Codeeinheit genau. Verwerfen Sie außerhalb einer Zeichenfolge nur Leerzeichen, Tabulatorzeichen, Wagenrücklauf und Zeilenvorschub.
  4. Für eine lesbare Ausgabe fügen Sie den ausgewählten Einzug nach einem öffnenden Container und Komma, ein Leerzeichen nach einem Doppelpunkt und eine korrekt eingerückte Zeile vor einem nicht leeren schließenden Container ein. Für eine minimierte Ausgabe fügen Sie kein optionales Leerzeichen ein.
  5. Kodieren Sie den umgeschriebenen Text als UTF-8, fügen Sie nur bei Auswahl einen letzten Zeilenvorschub hinzu und bieten Sie eine neue .json-Datei an. Analysieren Sie Zahlentokens für die Ausgabe niemals in Gleitkommawerte.

Wovon es ausgeht

  • Formatierung ist keine Kanonisierung. Die Reihenfolge der Objektmitglieder, doppelte Namen, die Schreibweise von Zahlen und die Auswahl von Zeichenfolgen-Escapes bleiben unverändert, selbst wenn ein anderer Parser sie normalisieren oder reduzieren könnte.
  • JSON, das zwischen unabhängigen Systemen ausgetauscht wird, ist UTF-8 gemäß RFC 8259. UTF-16 und ältere Codepages gehören in den separaten Textkodierungskonverter, bevor diese Grammatik angewendet wird.
  • Der native JSON-Parser wird nur als strenger Grammatikvalidator verwendet. Die herunterladbaren Bytes stammen aus einem tokenerhaltenden Scan des Originaltextes, nicht aus JSON.stringify.
  • Die Eingabe ist auf 25 MB begrenzt. Das Umschreiben ergibt alle 250.000 Zeichen, sodass Fortschritt und Abbrechen weiterhin reaktionsfähig bleiben. Die native Validierung selbst wird bewusst dem optimierten Parser des Browsers überlassen.

Fragen

Entfernt der Minifier Leerzeichen aus einer JSON-Zeichenfolge?

Nein. Es verfolgt Zeichenfolgen in Anführungszeichen und Escape-Sequenzen und entfernt Leerzeichen nur außerhalb einer Zeichenfolge.

Warum validieren, bevor Leerzeichen entfernt werden?

Andernfalls kann ein Byte-Rewriter eine kleinere Datei erzeugen, die immer noch ungültig ist. Durch die Validierung wird sichergestellt, dass es sich bei der vollständigen Quelle um einen JSON-Wert mit korrekten Zeichenfolgen, Zahlen, Arrays und Objekten handelt, bevor etwas zum Download angeboten wird.

Quellen

Die vollständige Methode, das Rechenbeispiel und alle Annahmen hinter diesem Ergebnis stehen auf JSON-Formatierer.