FAQ zur Werkzeugnutzung: Daten, Dateien und Export
Fazit: Werden Daten hochgeladen, wie groß darf eine Datei sein, wird etwas lokal gespeichert, warum wird Chinesisch zu Escapes: zehn Fragen, die die echten Grenzen eines Online-JSON-Werkzeugs ausbuchstabieren.

Kurz gesagt: Parsen, Formatieren, Diffen und Abfragen laufen vollständig in Ihrem Browser und funktionieren offline weiter; löschen Sie den localStorage-Verlauf nach der Behandlung sensibler Daten; und wechseln Sie über 10 MB zu Streaming-Kommandozeilenwerkzeugen, statt die Datei in den Browser einzufügen.
Bevor Sie eine sensible Payload in ein Online-Werkzeug einfügen, sollten Sie wissen, wohin sie geht. Dieser Artikel behandelt nur das Laufzeitverhalten des Werkzeugs, nicht die Syntax.
1. Daten und Datenschutz
Lädt der Online-JSON-Formatter meine Daten auf einen Server hoch?
Nein. Parsen, Formatieren, Minifizieren, Diffen und Abfragen geschehen alle im Browser, und die Seite sendet nie etwas, das Sie einfügen, an einen Anwendungsserver.
Sie müssen keine Datenschutzerklärung lesen, um festzustellen, ob ein Online-Werkzeug Daten hochlädt; das Netzwerk-Panel des Browsers genügt:
- Öffnen Sie die Entwicklerwerkzeuge, wechseln Sie zum Netzwerk-Panel und aktivieren Sie die Protokollpersistenz;
- Fügen Sie etwas JSON ein und klicken Sie auf „Formatieren“;
- Beobachten Sie, ob eine neue XHR- oder fetch-Anfrage erscheint und ob ihr Body Ihren Inhalt enthält.
Bei einem wirklich lokalen Werkzeug zeigt dieser Schritt nur Anfragen für statische Assets. Umgekehrt, wenn eine einzelne Formatieraktion ein POST /api/format erzeugt,
dessen Body Ihr Originaltext ist, dann haben die Daten den Browser bereits verlassen, egal was die Seite behauptet.
Jedes Werkzeug auf dieser Website ist eine reine Frontend-Implementierung, und die Build-Ausgabe enthält keine Server-API. Nach dem Offlinegehen funktioniert ein Aktualisieren, das den Cache trifft, weiterhin, was auch der direkteste Weg ist festzustellen, ob etwas „vollständig lokal“ ist.
Kann ich es auch offline verwenden?
Ja, sofern die Seite einmal geladen wurde.
Die Assets der Website werden beim ersten Besuch in den Browser-Cache geladen, sodass auch ohne Netzwerk danach Formatieren, Minifizieren, JSON5-Konvertierung und JSONPath-Abfragen weiter funktionieren. Nur netzwerkabhängige Funktionen scheitern, etwa das Prüfen auf eine neue Version oder das Herunterladen des Desktop-Installers.
Der Offline-Test ist zugleich ein guter Weg zu prüfen, dass „Daten nie das Gerät verlassen“: Bricht im Moment des Trennens alles zusammen, sprach jede Aktion mit einem Server.
Werden Daten lokal gespeichert? Wie lösche ich sie?
Ja, aber nur im localStorage des aktuellen Browsers, und nur Verlauf und UI-Einstellungen.
- Verlauf: die letzten 100 verarbeiteten Einträge in umgekehrter chronologischer Reihenfolge, um die zuletzt eingefügten Daten abzurufen;
- UI-Einstellungen: Theme, Sprache, Einrückungspräferenzen und so weiter;
- Nicht gespeichert: die Datei selbst, Upload-Datensätze oder irgendetwas, das eine Identität trägt.
Es gibt drei Wege, sie zu löschen, vom engsten zum breitesten:
| Methode | Umfang | Wann verwenden |
|---|---|---|
| „Verlauf löschen“ auf der Verlaufsseite | Löscht nur den Verlauf, behält Einstellungen | Nach der Behandlung sensibler Daten |
localStorage.clear() in den Entwicklerwerkzeugen ausführen |
Alle lokalen Daten dieser Website | Bei der Diagnose abnormaler Einstellungen |
| Browser „Browserdaten löschen“ für diese Website | Cookies, Cache und Speicher gemeinsam | Vor der Nutzung eines gemeinsam genutzten Computers |
Behandeln Sie Produktionsdaten auf einem gemeinsam genutzten Computer, löschen Sie den Verlauf am Ende, statt nur den Tab zu schließen – localStorage verschwindet nicht, wenn ein Tab geschlossen wird.
Warum wurden chinesische Zeichen zu \u4e2d\u6587?
Weil die „Escape“-Funktion Nicht-ASCII-Zeichen in Unicode-Escape-Sequenzen verwandelt. Das ist absichtliches Verhalten, kein Kauderwelsch.
\u4e2d ist der Codepoint des Zeichens 中 (U+4E2D). Die beiden Formen sind in JSON semantisch identisch und parsen zum selben String:
{
"escaped": "\u4e2d\u6587",
"plain": "中文"
}
Wann ist Escaping nötig? Wenn Sie JSON in ein altes System einbetten, das nur ASCII akzeptiert, es in einen HTTP-Header schreiben oder in einem anderen String verschachteln. Wann nicht? Die meisten API-Transporte und Dateispeicher brauchen es nicht; Chinesisch direkt als UTF-8 zu speichern spart Bytes – ein chinesisches Zeichen ist 3 Bytes, und 6 Bytes, sobald escaped.
Sehen Sie Chinesisch zu \u4e2d werden, prüfen Sie zuerst, ob Sie auf die „Escape“-Schaltfläche geklickt haben, statt zu vermuten, die Kodierung sei kaputt.
2. Dateien und Größe
Welche Dateigröße wird unterstützt?
Auf der Browserseite gibt es keine harte Grenze; die echten Limits kommen von drei Stellen:
| Stufe | Ungefährer Engpass | Symptom |
|---|---|---|
| Einfügen in ein Textfeld | 1–5 MB | Die Eingabe hängt nach dem Einfügen, Cursorverzögerung |
JSON.parse |
50–100 MB | Der Hauptthread blockiert sekundenlang, Seite reagiert nicht |
| Baum-Rendering | 10k–20k Knoten | Frames gehen verloren beim Aufklappen, Scrollen friert ein |
Anders gesagt, eine Datei mit zig MB „lässt sich parsen“, ist aber „nicht nutzbar“. Müssen Sie solche Daten wirklich verarbeiten, ist der richtige Schritt nicht, ein stärkeres Online-Werkzeug zu suchen, sondern auf Streaming umzustellen (siehe FAQ zu Performance und Sicherheit).
Faustregel: Unter 2 MB bleibt ein Online-Werkzeug flüssig; 2–10 MB heißt, ein oder zwei Verzögerungen zu akzeptieren; über 10 MB bevorzugen Sie ein lokales Skript.
Der Browser friert nach dem Einfügen ein. Was nun?
Aktualisieren Sie nicht zuerst – Aktualisieren verliert den Inhalt, und Sie müssen erneut einfügen. Retten Sie es in dieser Reihenfolge:
- Warten Sie 10–30 Sekunden. Meist parst oder rendert der Hauptthread und erholt sich selbst;
- Sobald er sich erholt, wechseln Sie sofort zur „Minify“-Ansicht oder klappen den Baum zu, um DOM-Knoten zu reduzieren;
- Kopieren Sie den Inhalt in eine lokale Datei und wechseln Sie zur Kommandozeile:
# Look at the structure of the first 100 lines only, to avoid loading everything
head -c 200000 data.json | jq . | head -n 100
# Count entries with a streaming tool, without loading them into memory
jq -c '.items[]' data.json | wc -l
Beim nächsten großen Datei führen Sie zuerst wc -c aus, um die Bytezahl zu sehen, und entscheiden dann, ob Sie sie in einen Browser einfügen.
Warum ist die Formatierung nach dem Einfügen unverändert?
Drei häufige Ursachen, nach Häufigkeit geordnet:
- Die Eingabe ist bereits minifiziert und hat keine Syntaxfehler: Formatieren passt nur die Einrückung an, ist das Original wirklich zwei Zeilen, bleibt es danach auch zwei Zeilen – Zeilenumbrüche innerhalb von Strings werden nicht expandiert;
- Der Inhalt ist kein JSON: Sie haben etwa ein JavaScript-Objektliteral eingefügt (unquotierte Schlüssel, einfache Anführungszeichen), und der Parser meldet einen Fehler, statt zu formatieren;
- Sie haben die falsche Schaltfläche geklickt: Minifizieren und Formatieren gehen in entgegengesetzte Richtungen, und Minifizieren entfernt jede Einrückung.
Erkennung: Sehen Sie auf die Zeichenzahl in der oberen rechten Ecke des Ausgabebereichs. Nach dem Formatieren sollte sie steigen (zusätzliche Einrückung und Zeilenumbrüche); ist sie gesunken, haben Sie minifiziert.
3. Eingabe und Ausgabe
Wie exportiere ich das Ergebnis in eine Datei?
Drei Wege, nach Verlässlichkeit geordnet:
| Methode | Aktion | Wann verwenden |
|---|---|---|
| Download-Schaltfläche | Auf „Download“ klicken, um eine .json-Datei zu erzeugen |
Große Ergebnisse, die archiviert werden müssen |
| In die Zwischenablage kopieren | Auf „Kopieren“ klicken | Kleine Ergebnisse, die Sie direkt zurück in Code einfügen |
| Manuell alles markieren und kopieren | Ausgabebereich markieren und Ctrl/Cmd + C drücken |
Der Fallback, wenn die Kopierschaltfläche scheitert |
Die heruntergeladene Datei ist standardmäßig UTF-8 ohne BOM. Das zählt: JSON mit BOM bricht in vielen Parsern glatt (siehe den BOM-Abschnitt in FAQ zu Syntax und Formaten).
Werden JSON5 und JSONC unterstützt?
Ja, aber unterscheiden Sie „Parsen“ von „Ausgabe“.
- Auf der Eingabeseite können Sie JSON5 (einfache Anführungszeichen, unquotierte Schlüssel, Kommentare, nachfolgende Kommas, Hexadezimalzahlen) oder JSONC (nur Kommentare) einfügen;
- Auf der Ausgabeseite können Sie zu Standard-JSON konvertieren oder Standard-JSON zurück nach JSON5, um manuelles Bearbeiten zu erleichtern.
Senden Sie beim Überschreiten von Systemgrenzen immer Standard-JSON. JSON5 ist ein Dialekt für Menschen, die Konfiguration schreiben; ein Request-Body mit
Content-Type: application/json, der Kommentare oder nachfolgende Kommas enthält, wird vom Server meist abgelehnt.
4. Umgebung und Kompatibilität
Funktioniert es auf einem Telefon?
Ja. Die Oberfläche fließt in eine einzige Spalte, und Formatieren, Minifizieren, Diffen und JSONPath bleiben erhalten.
Große Dateien auf einem Telefon zu bearbeiten ist aber eine schlechte Erfahrung: Die Bildschirmtastatur verdeckt Inhalte, Textauswahl ist schwierig, und der Browser verwirft die Seite womöglich, wenn Sie die App wechseln, wodurch Ihr Inhalt verloren geht. Als Notlösung akzeptabel, im Alltag aber am Desktop erledigen.
Warum öffnet dieselbe Datei in Chrome, aber scheitert in Safari?
Meist ist es kein Browserunterschied, sondern ein Kodierungsunterschied. Debuggen Sie in dieser Reihenfolge:
- BOM: Von Windows Notepad gespeichertes UTF-8 enthält ein BOM, das manche Parser nicht tolerieren;
- Zeilenenden: Das Mischen von CRLF und LF beeinflusst JSON selbst nicht, verschiebt aber die gemeldeten Fehlerzeilennummern, sodass es wie „die Fehlerposition ist falsch“ aussieht;
- Unsichtbare Zeichen: Aus einer Webseite kopierter Text kann Zero-Width-Leerzeichen (U+200B) enthalten, für das Auge unsichtbar, aber genug, um Schlüsselabgleich zu brechen.
Ein Befehl durchschaut es:
# Look at the hex of the first 16 bytes; a leading EF BB BF means a BOM is present
head -c 16 data.json | xxd
5. Kurzreferenz
| Frage | Schlussfolgerung |
|---|---|
| Lädt es Daten hoch | Nein, alles wird lokal im Browser verarbeitet, und es funktioniert offline |
| Wo werden Daten gespeichert | localStorage, nur Verlauf und Einstellungen, nie Dateien |
| Welche Dateigröße ist vernünftig | Unter 2 MB flüssig; über 10 MB zur Kommandozeile wechseln |
Chinesisch wurde zu \u |
Sie haben Escape geklickt; äquivalent, aber sperriger, und meist unnötig |
| Es fror ein, was nun | Auf Erholung warten → Baum zuklappen → heraus kopieren und jq verwenden |
| Ist der Export BOM-frei | Ja, UTF-8 ohne BOM |
| Werden Kommentare unterstützt | JSON5/JSONC auf der Eingabeseite; Standard-JSON ausgeben |