Correggere gli apici singoli nel JSON
Stringhe e chiavi di oggetto in JSON devono usare virgolette doppie. I valori tra apici singoli sono comuni in frammenti JavaScript, output in stile Python e risposte di LLM.
Perché gli apici singoli falliscono
JSON strict accetta solo stringhe con virgolette doppie. Un parser rifiuta {'name':'Ada'} anche se la forma può sembrare familiare a chi sviluppa in JavaScript.
Esempio errato
{ 'name': 'Ada', 'active': true }
JSON corretto
{ "name": "Ada", "active": true }
Da dove arriva il testo con apici singoli
repr() e la stampa dei dict in Python, letterali di oggetto JavaScript copiati dalla console, ispezione di hash in Ruby e molte risposte di LLM usano apici singoli. Nessuno di questi è JSON — sono letterali nativi del linguaggio che si limitano ad assomigliargli.
Perché un find-and-replace cieco è rischioso
Sostituire ' con " senza criterio rompe i valori che contengono apostrofi, come { 'note': 'it\'s fine' }. Dopo la sostituzione l’apostrofo interno collide con il nuovo delimitatore di stringa. Un convertitore sicuro deve tenere conto del contesto delle virgolette e cambiare solo i delimitatori, non i caratteri interni.
Strategia di conversione sicura
Tokenizza prima l’input: scorri il testo, identifica i confini delle stringhe dall’apice di apertura e ricostruisci ogni token con virgolette doppie — facendo l’escape delle virgolette doppie interne e togliendo l’escape ridondante agli apici singoli. Lo strumento di repair di questo sito fa tutto in una passata.
Errori di sintassi JSON correlati
Il JSON con apici singoli porta spesso con sé altri «peccati» in stile JavaScript: chiavi senza virgolette, virgole finali, commenti di riga o valori undefined. Dopo aver sistemato gli apici, valida il risultato per far emergere ciò che resta.
FAQ
D: Le stringhe tra apici singoli sono valide in JSON5? R: Sì, JSON5 le ammette. D: json.loads di Python accetta gli apici singoli? R: No — usa ast.literal_eval se la sorgente è davvero un letterale Python, altrimenti converti prima gli apici. D: Anche le chiavi JSON devono usare le virgolette doppie? R: Sì — le chiavi sono stringhe, stessa regola.
Guide alla riparazione di JSON
Hub tematici
- JSON Parse Errors: Read the Message, Jump to the Fix
- Fix Invalid JSON: From 'What's Wrong' to a Clean File
- JSON Formatter, Validator, Viewer: Pick the Right Tool
- Repair LLM JSON Output: Handling Almost-JSON from AI
- Privacy: JSON Tools That Don't Leave Your Browser
- JSON Interop: YAML, CSV, XML, JWT, Schema
Guide specifiche
- Come decodificare stringhe Base64 (e payload JWT)
- Codifica URL: codifica in percentuale parametri di query e percorsi
- Convertire YAML in JSON (ed evitare errori di indentazione)
- Convertire JSON in CSV: appiattire un array di oggetti
- Convertire JSON in XML: radice, attributi e array
- Fare escape del JSON come letterale stringa (e decodificare JSON doppiamente codificato)
- Correggere le virgole finali nel JSON
- Correggere chiavi senza virgolette nel JSON
- Riparare il JSON prodotto da un LLM
- Correggere l’errore di parse JSON: Expected Property Name
- JSON vs letterale di oggetto JavaScript
- Valida il JSON prima delle richieste API
- Formattatore JSON vs JSON Repair
- Correggere errori JSON Unexpected Token
- Convertitore JSON in oggetto JavaScript