JSON Reparationsverktyg
Åtgärda och återställ automatiskt trasig eller felaktig JSON – säkert, snabbt och gratis.
Det här verktyget reparerar trasig eller ogiltig JSON med automatisk felkorrigering. Det åtgärdar de vanligaste syntaxproblemen som förekommer i exporterad data, loggar eller handredigerade filer—såsom saknade citattecken, överflödiga kommatecken eller ojämna klamrar—och producerar giltig, parsbar JSON som resultat.
Reparera din JSON nedan
Hur JSON-reparation fungerar
Verktyget analyserar din inmatning för vanliga JSON-syntaxfel och tillämpar riktade korrigeringar, vilket ger giltig JSON när det är möjligt.
- Analyserar inmatningen och identifierar vanliga syntaxfel, inklusive otillåtna tecken, felplacerade parenteser och felaktiga strängcitattecken.
- Tillämpa åtgärder för vanliga misstag—som att lägga till saknade citationstecken, ta bort avslutande kommatecken eller rätta till parenteser.
- Returnerar den reparerade JSON. I de flesta fall är resultatet klart att tolkas eller användas direkt.
- Om strukturen inte kan repareras automatiskt visas ett tydligt felmeddelande så att du kan justera din inmatning.
Vanliga JSON-fel och hur du åtgärdar dem
Här är vanliga JSON-fel som detta verktyg kan åtgärda, med exempel för varje:
Ocitera nycklar
Nycklar måste vara inom dubbla citationstecken.
{ namn: "Bob" }
{ "name": "Bob" }
Åtgärd: Lägger till dubbla citattecken runt alla objekt-nycklar utan citationstecken.
Enkel citationstecken använda
JSON accepterar endast dubbla citattecken för strängar.
{ 'roll': 'admin' }
{ "role": "admin" }
Åtgärd: Byter ut enkla citattecken mot dubbla citattecken för alla strängar.
Avslutande kommatecken
Ingen komma tillåts efter sista objektet.
{ "a": 1, "b": 2, }
{ "a": 1, "b": 2 }
Åtgärd: Tar bort alla avslutande kommatecken.
Ojämna eller Ej Stängda Parenteser
Alla hakparenteser och klamrar måste stängas korrekt.
[1, 2, 3
[1, 2, 3]
Fixa: Lägger till saknade avslutande hakparenteser eller måsvingar.
Saknade eller extra kommatecken
Element i arrayer och objekt måste separeras med ett enda komma.
{ "a": 1 "b": 2 }
{ "a": 1, "b": 2 }
Åtgärda: Infogar saknade kommatecken eller tar bort dubbletter.
Kommentarrader Förekommer
Standard JSON tillåter inte kommentarer (som // eller /* ... */).
{ "id": 1, // användar-ID "active": true }
{ "id": 1, "aktiv": sant }
Åtgärd: Tar bort kommentarsrader från indata.
Ogiltiga nummerformat
Endast vanliga decimala tal är giltiga (ingen NaN, oändlighet eller hexadecimala tal).
{ "val": NaN }
{ "val": null }
Åtgärd: Ersätter ogiltiga nummer med null.
Okodade kontrolltecken
Tecken som radbrytningar i strängar måste undantas.
{ "msg": "Rad1 Rad2" }
{ "msg": "Rad1\nRad2" }
Åtgärd: Escape-kontrolltecken hanteras korrekt.
Dubblettnycklar i objekt
Dubbletter av nycklar i samma objekt orsakar oklarheter.
{ "name": "A", "name": "B" }
{ "name": "B" }
Åtgärd: Behåller endast det sista värdet för varje duplicerad nyckel.
Felaktigt formaterade arrayer
Arrayer måste ha hakparenteser och kommatecken mellan objekten.
[ 1 2 3 ]
[ 1, 2, 3 ]
Åtgärd: Lägger till saknade kommatecken mellan arrayelement.
Tomt inmatningsfält eller endast blanksteg
JSON kan inte vara tomt.
null
Åtgärd: Returnerar null för tomt indata.
Exempel: Från Trasig JSON till Korrekt Reparation
{ user: 'alice', id: 42, roller: [admin, 'redaktör',] // extra komma aktiv: true }Reparerad JSON-utdata
{ "user": "alice", "id": 42, "roles": [ "administratör", "redaktör" ], "active": true }
Hur du använder detta JSON-reparationsverktyg
- Klistra in eller skriv din felaktiga JSON i redigeraren nedan.
- Klicka på 'Reparera' för att automatiskt upptäcka och åtgärda vanliga syntaxfel.
- Granska den reparerade utdata och kopiera din korrigerade JSON.
Kontrollera alltid reparerad JSON innan den används för kritiska data—manuella justeringar kan behövas för komplexa eller kraftigt skadade indata.
Kodexempel för JSON-reparation
Se hur du reparerar JSON i olika programmeringsspråk.
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)