← Tutti gli articoli

Correggi JSON online: ripara, valida e formatta JSON non valido

Virgole finali, apici singoli, chiavi senza apici, letterali Python, fence di markdown — i correttori JSON online li gestiscono tutti. Impara come funzionano i parser di riparazione, quando usarli e come tenere i dati sensibili privati.

JSON.parse() non perdona: una virgola fuori posto, una chiave senza virgolette, un True invece di true, e tutta la tua applicazione si ferma. I riparatori JSON online ti lasciano incollare JSON rotto, rilevare e correggere automaticamente gli errori e copiare JSON pulito e valido —— senza toccare la tua codebase né installare nulla. Questa guida spiega come funzionano, quali errori catturano e quando usarne uno.

Cos'è un riparatore JSON online?

Un riparatore JSON online è uno strumento da browser che prende JSON non valido come input, applica un insieme di euristiche di riparazione e restituisce JSON valido. I migliori formattano anche il risultato (pretty-print) perché tu veda la struttura con chiarezza.

A differenza di un semplice validatore che ti dice solo che qualcosa è sbagliato, un riparatore ti dice cosa era sbagliato e lo corregge. Ottieni output azionabile, non solo un messaggio di errore.

Gli errori JSON più comuni che i riparatori online correggono

Virgole finali

L'errore JSON più comune. Una virgola dopo l'ultimo elemento di un oggetto o array è valida in JavaScript ma illegale in JSON.

// Non valido
{ "name": "Alice", "score": 98, }

// Riparato
{ "name": "Alice", "score": 98 }

Apici singoli

JSON richiede virgolette doppie per stringhe e chiavi. Le stringhe con apici singoli sono un „javascriptismo“ che molti sviluppatori si trascinano dietro per errore.

// Non valido
{ 'name': 'Alice' }

// Riparato
{ "name": "Alice" }

Chiavi senza virgolette

I literal di oggetto in JavaScript permettono chiavi senza virgolette. JSON no.

// Non valido
{ name: "Alice", age: 30 }

// Riparato
{ "name": "Alice", "age": 30 }

Commenti JavaScript

JSON non ha sintassi per i commenti. Commenti copiati da file JavaScript o aggiunti a config rompono il parsing.

// Non valido
{
  "debug": true,  // abilita il logging
  /* rimuovere prima della produzione */
  "verbose": false
}

// Riparato
{
  "debug": true,
  "verbose": false
}

Literal di Python

Python usa True, False e None per i suoi booleani e null. JSON richiede true, false e null in minuscolo.

// Non valido (stile Python)
{ "active": True, "deleted": False, "nickname": None }

// Riparato
{ "active": true, "deleted": false, "nickname": null }

Recinzioni di codice Markdown

Quando chiedi a un LLM (ChatGPT, Claude, Gemini) di restituire JSON, spesso lo avvolge in un blocco di codice Markdown. Backtick e tag di linguaggio non fanno parte del JSON.

// Non valido (con recinzione Markdown)
```json
{ "name": "Alice", "age": 30 }
```

// Riparato
{ "name": "Alice", "age": 30 }

Parentesi non chiuse o valori mancanti

Il JSON troncato —— da una risposta API tagliata o da un copia-incolla incompleto —— lascia oggetti o array aperti. Un riparatore può chiuderli automaticamente e produrre output sintatticamente valido.

// Non valido (troncato)
{ "users": [{ "id": 1, "name": "Alice"

// Riparato (chiuso automaticamente)
{ "users": [{ "id": 1, "name": "Alice" }] }

BOM UTF-8 all'inizio del documento

Alcuni file scritti da strumenti Windows iniziano con un BOM UTF-8 (0xEF 0xBB 0xBF). La RFC 8259 vieta il BOM all'inizio del JSON e JSON.parse lo rifiuta con un errore in posizione 0 che sembra un primo carattere non valido. Un passaggio di riparazione lo rimuove; se fai il parse a mano, prima text.replace(/^/, '').

Pulizia di JSON generato dall'IA (output di LLM)

Le risposte degli LLM sono oggi la fonte più affidabile di „quasi-JSON“. I pattern sono abbastanza coerenti da essere riparati meccanicamente:

  • ```json … ``` che avvolge il payload
  • Virgole finali in array e oggetti
  • Literal in stile Python (True, None) che trapelano dai dati di training
  • Parentesi sbilanciate quando il modello viene tagliato dal limite di token
  • Virgolette tipografiche („ “) da un „abbellimento“ servizievole

Rimuovi la recinzione, esegui la riparazione, poi valida. Per una procedura completa orientata agli output di LLM vedi la guida riparare output JSON di LLM.

Come funziona la riparazione JSON online

I riparatori semplici usano espressioni regolari —— per esempio sostituire ,} con } per rimuovere virgole finali. Funziona in casi semplici ma fallisce quando la stessa sequenza compare dentro il valore di una stringa.

I migliori riparatori usano un parser di riparazione: un parser JSON che, invece di lanciare un errore su un token inatteso, tenta di recuperare e continuare. Il parser percorre l'input carattere per carattere e applica euristiche in base al contesto:

  • Quando vede un apice singolo dove ne è atteso uno doppio, cambia modalità di virgolette
  • Quando vede una parola nuda dove è attesa una chiave quotata, aggiunge le virgolette
  • Quando vede True dove è atteso true, lo mette in minuscolo
  • Quando arriva alla fine dell'input dentro una struttura aperta, chiude tutte le parentesi aperte

Poiché la riparazione capisce la grammatica, modifica solo posizioni strutturali —— non corrompe mai il contenuto delle stringhe.

Quando usare un riparatore JSON online

SituazioneUsare riparatore online?
Debug di una risposta API una tantum✅ Sì —— la via più rapida a output leggibile
Riparare JSON generato da LLM✅ Sì —— gli LLM producono spesso virgole finali e recinzioni Markdown
Riparare velocemente un file di configurazione✅ Sì —— guarda la correzione e applicala a mano nel tuo editor
Pipeline di dati in produzione⚠️ Usa una libreria di riparazione nel codice (es. json-repair)
Dati con chiavi API o PII⚠️ Usa uno strumento che giri nel browser —— vedi sotto

Privacy: il JSON esce dal tuo browser?

È la domanda più importante per qualunque strumento JSON online. Molti formattatori e riparatori inviano il tuo input a un server —— dove può essere loggato, messo in cache da un CDN o indicizzato da un motore di ricerca.

JSON Fix gira interamente nel tuo browser. Quando incolli JSON e clicchi Repair, l'elaborazione avviene in JavaScript sul tuo dispositivo —— nulla viene inviato al server. Puoi verificarlo aprendo la scheda Network del browser: cliccando il pulsante non viene fatta alcuna richiesta.

Così è sicuro usarlo con dati sensibili come risposte API con token, export di DB con PII o file di configurazione interna. Per una spiegazione completa del perché conta, vedi Perché non dovresti incollare JSON sensibile in strumenti online.

Domande frequenti

Come riparo JSON online?

Incolla il JSON rotto in un riparatore da browser come JSON Fix. Rileva e ripara virgole finali, apici singoli, chiavi senza virgolette, literal di Python, commenti e recinzioni Markdown, e abbellisce il JSON valido perché tu lo copi —— senza installazione né registrazione.

È sicuro incollare JSON sensibile in un riparatore online?

Solo se lo strumento gira interamente nel browser. Molti formattatori online fanno POST del tuo input a un server dove può essere loggato o messo in cache. JSON Fix elabora tutto lato client —— apri la scheda Network per confermare che non viene inviata alcuna richiesta. Vedi perché conta.

Qual è la differenza tra un riparatore e un validatore JSON?

Un validatore ti dice solo che il JSON è non valido e dove; un riparatore lo aggiusta e restituisce output valido. Per un confronto più approfondito, vedi Formattatore JSON vs riparazione JSON.

Un riparatore online può aggiustare JSON generato dall'IA?

Sì —— gli output LLM includono spesso recinzioni di codice Markdown e virgole finali, che i riparatori rimuovono automaticamente. La guida dedicata è riparare output JSON di LLM.

Ripara JSON online —— adesso

Incolla il tuo JSON rotto in JSON Fix. Lo strumento:

  • Identifica il tipo di errore
  • Ripara virgole finali, apici singoli, chiavi senza virgolette, literal di Python, commenti e recinzioni Markdown
  • Abbellisce il risultato con indentazione coerente
  • Mostra un diff di cosa è cambiato così puoi rivedere la correzione
  • Gira al 100% nel tuo browser —— nessun dato viene inviato da nessuna parte

Altri strumenti della suite: