JSON Herstelhulpmiddel
Herstel automatisch kapotte of verkeerd opgemaakte JSON—veilig, snel en gratis.
Deze tool repareert kapotte of ongeldige JSON met geautomatiseerde foutenherstel. Het richt zich op de meest voorkomende syntaxproblemen die voorkomen in geëxporteerde data, logbestanden of handmatig bewerkte bestanden — zoals ontbrekende aanhalingstekens, overbodige komma’s of niet-overeenkomende haken — en genereert geldige, parseerbare JSON als resultaat.
Repareer je JSON hieronder
Hoe JSON Reparatie Werkt
Het hulpmiddel controleert uw invoer op veelvoorkomende JSON-syntaxisproblemen en past gerichte correcties toe, zodat er waar mogelijk geldige JSON wordt geproduceerd.
- Analyseert de invoer en detecteert veelvoorkomende syntaxfouten, waaronder ongeldige tekens, verkeerd geplaatste haakjes en onjuiste aanhalingstekens voor strings.
- Brengt correcties aan voor veelvoorkomende fouten—zoals ontbrekende aanhalingstekens toevoegen, overbodige komma's verwijderen of haakjes corrigeren.
- Geeft de gerepareerde JSON weer. In de meeste gevallen is het resultaat direct klaar om te parseren of te gebruiken.
- Als de structuur niet automatisch kan worden hersteld, wordt een duidelijke foutmelding weergegeven zodat je je invoer kunt aanpassen.
Veelvoorkomende JSON-fouten en hoe deze op te lossen
Hier zijn veelvoorkomende JSON-fouten die deze tool kan herstellen, met voorbeelden voor elk:
Niet-geverifieerde sleutels
Sleutels moeten tussen dubbele aanhalingstekens staan.
{ naam: "Bob" }
{ "name": "Bob" }
Opgelost: Voegt dubbele aanhalingstekens toe rond alle ongeciteerde objectsleutels.
Enkele aanhalingstekens gebruikt
JSON accepteert alleen dubbele aanhalingstekens voor strings.
{ 'rol': 'beheerder' }
{ "rol": "beheerder" }
Opgelost: Vervangt enkele aanhalingstekens door dubbele aanhalingstekens in alle tekststrings.
Achtervoegende komma's
Er mag geen komma staan na het laatste item.
{ "a": 1, "b": 2, }
{ "a": 1, "b": 2 }
Opgelost: verwijdert eventuele overbodige komma's aan het einde.
Niet-overeenkomende of niet-afgesloten haakjes
Alle haakjes en accolades moeten correct gesloten zijn.
[1, 2, 3
[1, 2, 3]
Oplossing: Voegt ontbrekende sluitende haakjes of accolades toe.
Ontbrekende of Overbodige Komma's
Array- en objectitems moeten worden gescheiden door een enkele komma.
{ "a": 1 "b": 2 }
{ "a": 1, "b": 2 }
Oplossing: Voegt ontbrekende komma's toe of verwijdert dubbele.
Aanwezige kommentaarregels
Standaard JSON staat geen opmerkingen toe (zoals // of /* ... */).
{ "id": 1, // gebruikers-ID "active": true }
{ "id": 1, "actief": true }
Oplossen: Verwijdert commentaarregels uit de invoer.
Ongeldige Nummerformaten
Alleen gewone decimale getallen zijn geldig (geen NaN, oneindig of hexadecimaal).
{ "val": NaN }
{ "val": null }
Oplossing: Vervangt ongeldige nummers door null.
Niet-ontsnapte besturingskarakters
Tekens zoals nieuwe regels in tekst moeten worden ontsnapt.
{ "msg": "Regel1 Regel2" }
{ "msg": "Regel1\nRegel2" }
Opgelost: Escapes van besturingskarakters correct verwerkt.
Dubbele sleutels in object
Dubbele sleutels in hetzelfde object zorgen voor onduidelijkheid.
{ "name": "A", "name": "B" }
{ "name": "B" }
Oplossing: Bewaart alleen de laatste waarde bij dubbele sleutels.
Verkeerd Opgezette Arrays
Arrays moeten haken en komma's tussen de items bevatten.
[ 1 2 3 ]
[ 1, 2, 3 ]
Opgelost: voegt ontbrekende komma's toe tussen array-elementen.
Lege invoer of alleen spaties
JSON mag niet leeg zijn.
nul
Opgelost: Geeft null terug bij lege invoer.
Voorbeeld: Van kapotte JSON naar een geldige reparatie
{ gebruiker: 'alice', id: 42, rollen: [beheerder, 'redacteur',] // extra komma actief: waar }Gerepareerde JSON-uitvoer
{ "user": "alice", "id": 42, "roles": [ "beheerder", "redacteur" ], "active": true }
Hoe Deze JSON Hersteltool Te Gebruiken
- Plak of typ je kapotte JSON in de onderstaande editor.
- Klik op 'Repareren' om automatische detectie en oplossing van veelvoorkomende syntaxisfouten uit te voeren.
- Bekijk de gerepareerde uitvoer en kopieer uw aangepaste JSON.
Controleer altijd de herstelde JSON voordat je deze gebruikt voor kritieke gegevens—handmatige aanpassingen kunnen nodig zijn bij complexe of zwaar beschadigde invoer.
Codevoorbeelden voor JSON-reparatie
Zie hoe je JSON kunt repareren in diverse programmeertalen.
const { jsonrepair } = require('jsonrepair');
const broken = '{ name: "Bob", age: 42, }';
const fixed = jsonrepair(broken);
console.log(fixed); // Now valid JSON!
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);
}
import dirtyjson
broken = "{ name: 'Bob', age: 42 }"
obj = dirtyjson.loads(broken)
print(obj)
import demjson3
broken = "{ name: 'Bob', age: 42 }"
obj = demjson3.decode(broken)
print(obj)
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)
}
}
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);
}
}
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
$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);
# Using system call to npx jsonrepair
require 'open3'
broken = "{ name: 'Bob', age: 42 }"
fixed, _ = Open3.capture2("echo #{broken.inspect} | npx jsonrepair")
puts fixed
echo "{ name: 'Bob', age: 42 }" | npx jsonrepair
// Rust does not have a json repair crate yet. Pre-process string with regex to fix simple cases, then use serde_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)
}
import { jsonrepair } from 'jsonrepair';
const broken = '{ name: "Bob", age: 42 }';
const fixed = jsonrepair(broken);
console.log(fixed);
var broken = "{ name: 'Bob', age: 42 }";
var fixed = broken.replaceAll("'", '"').replaceAllMapped(
RegExp(r'([a-zA-Z0-9_]+):'),
(m) => '"${m[ 1 ]}":',
);
print(fixed);
broken = "{ name: 'Bob', age: 42 }"
fixed = Regex.replace(~r/'/, broken, """)
fixed = Regex.replace(~r/(\w+):/, fixed, ""\\1":")
IO.puts(fixed)