Typische Fehler in JSON-ähnlichem Text korrigieren

Fügen Sie JSON-ähnlichen Text ein, um einen festen Regelsatz auszuführen und jede angewandte Änderung nachzulesen. Die Reparatur führt die Eingabe nie aus, es wird nichts hochgeladen, und ein weiterhin unparsbarer Text endet mit dem Parserfehler statt mit einer Vermutung.

Läuft lokal in deinem Browser
Der Reparaturdienst führt niemals Code aus. Er wendet nur begrenzte, prüfbare Texttransformationen im Browser an.
Ungültige oder JSON-ähnliche Eingabe

Sichere Reparatur ist bewusst begrenzt

Das Werkzeug behandelt Kommentare, nachgestellte Kommas, einfache Anführungszeichen, unquotierte Schlüssel, typografische Anführungszeichen und gängige Literale. Es führt nie JavaScript aus, erfindet keine Daten und versteckt keinen Fehler.

JSON-ähnlichen Text reparieren

Fügen Sie JSON-ähnlichen Text ein; die Seite wendet einen festen, geordneten Regelsatz an — Kommentare, nachgestellte Kommas, einfache Anführungszeichen, unquotierte Schlüssel, typografische Anführungszeichen, True/False/None und nicht-finite Zahlen — und listet jede vorgenommene Änderung auf. Nichts wird geraten: Lässt sich das Ergebnis weiterhin nicht parsen, schlägt der Lauf fehl, statt ein plausibles Dokument zurückzugeben.

Die gesamte Reparatur ist eine Texttransformation mit anschließendem striktem JSON.parse; die Eingabe wird also nie ausgeführt und die Seite sendet während der Arbeit keine Anfrage. String-Inhalte bleiben unangetastet: eine http://-URL, ein /* */-Marker oder ein typografischer Apostroph in einem Wert überstehen den Lauf.

  1. Fügen Sie die Eingabe in das linke Feld ein. Die Regeln laufen erst, wenn Sie JSON reparieren drücken.
  2. Drücken Sie JSON reparieren. Bereits gültige Eingaben werden als solche gemeldet und mit zwei Leerzeichen Einrückung zurückgegeben; andernfalls steht unter Angewandte Korrekturen jede ausgelöste Regel in ihrer Reihenfolge.
  3. Lesen Sie die Korrekturliste und vergleichen Sie die Ausgabe mit Ihrer Absicht — die Literalersetzung (True zu true, NaN zu null) ändert Werte bewusst.
  4. Kopieren übernimmt das reparierte JSON; nach einem Fehllauf weist der Status darauf hin, dass der kopierte Text weiterhin ungültig ist. Leeren räumt beide Felder und die Korrekturliste.

Was der Reparaturdienst ändert — und was nicht

Die Regeln und ihre Reihenfolge

BOM-Entfernung, Normalisierung typografischer Anführungszeichen, Kommentar-Entfernung, Umwandlung einfacher Anführungszeichen, Quotierung unquotierter Schlüssel, Literalersetzung und Entfernung nachgestellter Kommas laufen in dieser festen Reihenfolge und nur außerhalb von Strings. Kommentare umfassen // und /* */ aus JavaScript sowie #-Zeilen im Python-Stil; Schlüssel dürfen mit Buchstabe, _ oder $ beginnen und Nicht-ASCII-Zeichen wie japanische enthalten; wiederholte Kommas wie [1,,] werden entfernt, bis die Klammer sauber ist.

Weil die Regeln String-Inhalte überspringen, überleben Marker in den Daten: http://x, /* keep */ oder #fff innerhalb eines Strings bleiben unverändert, und ein typografischer Apostroph in einem Wert bleibt typografisch. Typografische Anführungszeichen werden nur dort umgesetzt, wo sie als Begrenzung eines Schlüssels oder Strings dienen.

Was nicht geraten wird

Fehlende Werte und abgeschnittene Dateien werden nicht repariert. Eingaben wie {"a": } (ohne Wert), {"a": [1, 2 (nicht geschlossenes Array), {a: .5} (führender Dezimalpunkt) oder {a: 0x1F} (Hex-Zahl) enden mit dem Parserfehler und dem teilweise umgewandelten Text zur Prüfung — dieses Feld ist kein Ergebnis, und Kopieren sagt das auch.

NaN, Infinity und -Infinity werden zu null, weil JSON keine nicht-finiten Zahlen kennt, und True/False/None werden zu true/false/null. Prüfen Sie diese Ersetzungen, bevor das Dokument an eine Gegenstelle geht, die eine Zahl oder einen Booleschen Wert erwartet.

Wo auch ein erfolgreicher Lauf Prüfung braucht

Ein grüner Status beweist nur, dass der Text jetzt parst — nicht, dass die Daten Ihren Absichten entsprechen. Doppelte Schlüssel behalten den letzten Wert, jede Umschreibung steht nur in der Korrekturliste, und die Ausgabe wird immer mit zwei Leerzeichen neu eingerückt; vergleichen Sie sie mit dem Original, bevor Sie eine Konfiguration oder ein Fixture überschreiben.

Alles läuft in diesem Tab: Die Seite sendet während der Reparatur keine Anfrage und es wird keine Kopie der Eingabe gespeichert. Behalten Sie den Originaltext bis zum Ende des Vergleichs und nutzen Sie Leeren, um die Arbeitskopie aus der Seite zu entfernen.

Zuletzt verwendet: