JSON-Reparaturtool

Automatisch fehlerhafte oder beschädigte JSON-Daten sicher, schnell und kostenlos reparieren und wiederherstellen.

Dieses Tool repariert fehlerhaftes oder ungültiges JSON mithilfe automatischer Fehlerkorrektur. Es behebt die häufigsten Syntaxprobleme, die in exportierten Daten, Protokollen oder manuell bearbeiteten Dateien auftreten – wie fehlende Anführungszeichen, überflüssige Kommata oder nicht übereinstimmende Klammern – und liefert gültiges, parsbares JSON als Ergebnis.

Reparieren Sie Ihr JSON unten

Wie JSON-Reparatur funktioniert

Das Tool durchsucht Ihre Eingabe nach typischen JSON-Syntaxfehlern und wendet gezielte Korrekturen an, um nach Möglichkeit gültiges JSON zu erzeugen.

  1. Analysiert die Eingabe und erkennt häufige Syntaxfehler, einschließlich unerlaubter Zeichen, falsch platzierter Klammern und fehlerhafter Anführungszeichen. Optimiert zur Fehlererkennung in Echtzeit für eine effiziente Codeüberprüfung.
  2. Behebt häufige Fehler – wie fehlende Anführungszeichen, überflüssige Kommas am Ende oder falsche Klammern – schnell und zuverlässig.
  3. Gibt das reparierte JSON aus. In den meisten Fällen ist das Ergebnis sofort bereit zum Parsen oder zur Verwendung.
  4. Wenn die Struktur nicht automatisch repariert werden kann, wird eine klare Fehlermeldung angezeigt, damit Sie Ihre Eingabe anpassen können.

Häufige JSON-Fehler und wie man sie behebt

Hier sind typische JSON-Fehler, die dieses Tool reparieren kann, mit jeweils einem Beispiel:

Unbezeichnete Schlüssel

Schlüssel müssen in doppelte Anführungszeichen gesetzt werden.

Before:
{ Name: "Bob" }
After:
{ "name": "Bob" }

Fix: Fügt doppelte Anführungszeichen um alle nicht in Anführungszeichen gesetzten Objektschlüssel hinzu.

Einfache Anführungszeichen verwendet

JSON akzeptiert nur doppelte Anführungszeichen für Strings.

Before:
{ 'rolle': 'administrator' }
After:
{ "role": "Administrator" }

Behebung: Ersetzt einfache Anführungszeichen durch doppelte Anführungszeichen in allen Zeichenfolgen.

Abschließende Kommata

Nach dem letzten Element darf kein Komma stehen.

Before:
{ "a": 1, "b": 2, }
After:
{ "a": 1, "b": 2 }

Behebung: Entfernt alle überflüssigen Kommas am Ende.

Nicht übereinstimmende oder nicht geschlossene Klammern

Alle Klammern und geschweiften Klammern müssen korrekt geschlossen sein.

Before:
[1, 2, 3
After:
[1, 2, 3]

Korrektur: Fügt fehlende schließende Klammern oder geschweifte Klammern hinzu.

Fehlende oder überflüssige Kommas

Array- und Objekt-Einträge müssen durch ein einzelnes Komma getrennt werden.

Before:
{ "a": 1 "b": 2 }
After:
{ "a": 1, "b": 2 }

Fix: Fügt fehlende Kommas ein oder entfernt doppelte Kommas.

Kommentarzeilen vorhanden

Standard-JSON erlaubt keine Kommentare (wie // oder /* ... */).

Before:
{ "id": 1, // Benutzer-ID
 "active": true }
After:
{ "id": 1, "aktiv": true }

Fix: Entfernt Kommentarzeilen aus der Eingabe.

Ungültige Zahlenformate

Es sind nur einfache Dezimalzahlen gültig (keine NaN, Unendlichkeit oder Hexadezimalzahlen).

Before:
{ "val": NaN }
After:
{ "val": null }

Fix: Ungültige Zahlen werden durch Null ersetzt.

Nicht maskierte Steuerzeichen

Zeichen wie Zeilenumbrüche in Zeichenketten müssen maskiert werden.

Before:
{ "msg": "Zeile1
Zeile2" }
After:
{ "msg": "Zeile1\nZeile2" }

Behebung: Steuerzeichen werden korrekt maskiert.

Doppelte Schlüssel im Objekt

Doppelte Schlüssel im selben Objekt verursachen Mehrdeutigkeiten.

Before:
{ "name": "A", "name": "B" }
After:
{ "name": "B" }

Behoben: Es wird nur der letzte Wert bei doppelten Schlüsseln beibehalten.

Fehlerhafte Arrays

Arrays müssen Klammern und Kommas zwischen den Elementen enthalten.

Before:
[ 1 2 3 ]
After:
[ 1, 2, 3 ]

Behebung: Fügt fehlende Kommas zwischen Array-Elementen hinzu.

Leere Eingabe oder nur Leerzeichen

JSON darf nicht leer sein.

Before:
After:
null

Behebung: Gibt bei leerer Eingabe Null zurück.

Beispiel: Von fehlerhaftem JSON zur gültigen Reparatur

Fehlerhafte JSON-Eingabe
{ benutzer: 'alice', id: 42, rollen: [administrator, 'redakteur',] // extra Komma
 aktiv: true }
Reparierte JSON-Ausgabe
{
  "user": "alice",
  "id": 42,
  "roles": [
    "Administrator",
    "Redakteur"
  ],
  "active": true
}

So verwenden Sie dieses JSON-Reparaturtool

  1. Fügen Sie Ihr fehlerhaftes JSON in den untenstehenden Editor ein oder geben Sie es dort ein.
  2. Klicken Sie auf ‚Reparieren‘, um häufige Syntaxfehler automatisch zu erkennen und zu beheben.
  3. Überprüfen Sie die reparierte Ausgabe und kopieren Sie Ihr korrigiertes JSON.

Prüfen Sie reparierte JSON-Daten stets sorgfältig, bevor Sie sie für wichtige Informationen verwenden – bei komplexen oder stark beschädigten Eingaben sind manuelle Anpassungen möglicherweise erforderlich.

Codebeispiele zur JSON-Reparatur

Erfahren Sie, wie Sie JSON in verschiedenen Programmiersprachen reparieren können.

JavaScript (Node.js) with jsonrepair
Install: npm install jsonrepair
const { jsonrepair } = require('jsonrepair');
const broken = '{ name: "Bob", age: 42, }';
const fixed = jsonrepair(broken);
console.log(fixed); // Now valid JSON!
JavaScript (Node.js) simple fix (not for production)
Install: Standard library
let broken = "{ name: 'Bob', age: 42 }";
broken = broken.replace(/(['"])?:([\s]*)([^\s,\{\}\[\]":']+)/g, '"$1$3":');
try {
  let obj = JSON.parse(broken);
  console.log(obj);
} catch (e) {
  console.error('Still broken:', e.message);
}
Python with dirtyjson
Install: pip install dirtyjson
import dirtyjson
broken = "{ name: 'Bob', age: 42 }"
obj = dirtyjson.loads(broken)
print(obj)
Python with demjson3
Install: pip install demjson3
import demjson3
broken = "{ name: 'Bob', age: 42 }"
obj = demjson3.decode(broken)
print(obj)
Go (using otto for JS-like object parsing)
Install: go get github.com/robertkrimen/otto
package main
import (
  "fmt"
  "github.com/robertkrimen/otto"
)
func main() {
  vm := otto.New()
  broken := "{ name: 'Bob', age: 42 }"
  value, err := vm.Run("(" + broken + ")")
  if err != nil {
    fmt.Println("Cannot repair:", err)
  } else {
    obj, _ := value.Export()
    fmt.Println(obj)
  }
}
Java with org.json (manual fix for single quotes)
Install: org.json:json
import org.json.JSONObject;
public class Main {
  public static void main(String[] args) {
    String broken = "{'name': 'Bob', 'age': 42}".replace(''', '"');
    JSONObject obj = new JSONObject(broken);
    System.out.println(obj);
  }
}
C# with Newtonsoft.Json (try-catch, manual fix)
Install: Newtonsoft.Json
using System;
using Newtonsoft.Json;
class Program {
  static void Main() {
    var broken = "{ name: 'Bob', age: 42 }".Replace("'", "\"");
    try {
      var obj = JsonConvert.DeserializeObject(broken);
      Console.WriteLine(obj);
    } catch (Exception ex) {
      Console.WriteLine("Broken JSON: " + ex.Message);
    }
  }
}
PHP (manual fix for single quotes/unquoted keys)
Install: Standard library
<?php
$broken = "{ name: 'Bob', age: 42 }";
$fixed = preg_replace("/'([^"]*)'/", '"$1"', $broken);
$fixed = preg_replace('/([a-zA-Z0-9_]+):/', '"$1":', $fixed);
$obj = json_decode($fixed);
var_dump($obj);
Ruby with json-repair (via gem or shell call)
Install: gem install json-repair or use npx jsonrepair
# Using system call to npx jsonrepair
require 'open3'
broken = "{ name: 'Bob', age: 42 }"
fixed, _ = Open3.capture2("echo #{broken.inspect} | npx jsonrepair")
puts fixed
Bash (npx jsonrepair CLI)
Install: npm install -g jsonrepair
echo "{ name: 'Bob', age: 42 }" | npx jsonrepair
Rust (suggest manual pre-processing)
Install: Standard libraries
// Rust does not have a json repair crate yet. Pre-process string with regex to fix simple cases, then use serde_json.
Kotlin (manual fix, like Java)
Install: org.json:json
import org.json.JSONObject
fun main() {
  var broken = "{ name: 'Bob', age: 42 }".replace("'", "\"")
  broken = Regex("([a-zA-Z0-9_]+):").replace(broken, ""$1":")
  val obj = JSONObject(broken)
  println(obj)
}
TypeScript (Node.js) with jsonrepair
Install: npm install jsonrepair
import { jsonrepair } from 'jsonrepair';
const broken = '{ name: "Bob", age: 42 }';
const fixed = jsonrepair(broken);
console.log(fixed);
Dart (manual string fixes)
Install: Standard library
var broken = "{ name: 'Bob', age: 42 }";
var fixed = broken.replaceAll("'", '"').replaceAllMapped(
  RegExp(r'([a-zA-Z0-9_]+):'),
  (m) => '"${m[ 1 ]}":',
);
print(fixed);
Elixir (manual fix with Regex)
Install: Standard library
broken = "{ name: 'Bob', age: 42 }"
fixed = Regex.replace(~r/'/, broken, """)
fixed = Regex.replace(~r/(\w+):/, fixed, ""\\1":")
IO.puts(fixed)