Validare la sintassi JSON
Incolli un documento di dati e scopra subito se può essere letto: un record di Ada con i suoi ruoli passa, mentre una virgola mancante viene segnalata con riga, colonna e posizione. Niente viene corretto o riformattato a sua insaputa. Gratis nel Suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Il validatore restituisce sempre un risultato strutturato: un input corretto produce un semplice indicatore vero, mentre uno errato produce falso insieme al messaggio del parser e alla posizione, riga e colonna in cui l’analisi si è interrotta.
Controlli la sintassi senza modificare il documento
Un validatore sintattico deve rispondere a una domanda precisa: un parser conforme allo standard riesce a leggere esattamente questa stringa? Non elimina spazi, non sostituisce virgolette, non rimuove commenti, non inserisce virgole, non riordina chiavi e non reinterpreta valori. Un risultato non valido mantiene l’errore nell’output ordinario anziché trasformarlo in un’eccezione.
Lei può quindi mostrare subito la risposta o controllare l’indicatore nel codice.
Interpreti la posizione dell’errore segnalata
Quando l’analisi fallisce, il risultato include un oggetto di errore con un messaggio e tre coordinate. La posizione è un offset di caratteri con base zero dall’inizio della stringa JavaScript. Riga e colonna hanno base uno, quindi sono comode da mostrare in un editor o in un avviso di convalida.
Ogni ritorno a capo incrementa la riga e riporta la colonna a uno. La posizione indica dove il parser ha capito di non poter proseguire; il refuso effettivo può trovarsi subito prima. Per esempio, una virgola mancante tra due proprietà viene spesso segnalata sulla virgoletta iniziale della seconda, perché lì il parser scopre che la prima non è stata seguita correttamente.
Un oggetto o array incompleto viene segnalato alla fine del testo. Il messaggio può variare tra ambienti JavaScript: usi i campi numerici per la navigazione e mostri il messaggio alle persone, senza confrontarne il testo completo come categoria software permanente.
Casi d'uso
Fornisca indicazioni precise in un editor
Usi offset, riga e colonna restituiti per guidare l’utente fino al punto in cui l’analisi è fallita.
Domande frequenti
Perché l'errore viene segnalato dopo lo sbaglio vero?
La posizione indica il punto in cui la lettura non ha più potuto proseguire, e il refuso reale si trova spesso subito prima. Una virgola mancante tra due voci viene di solito segnalata alle virgolette di apertura della seconda.
Sono accettati commenti, apici singoli o una virgola finale?
No. Commenti, testo tra apici singoli, una virgola di troppo dopo l'ultimo elemento, contenuto aggiuntivo dopo il documento e testo vuoto vengono rifiutati, perché il formato standard non li ammette.
Il validatore corregge o riformatta il mio testo?
No. Il testo viene controllato esattamente come lo ha incollato: non si tolgono spazi, non si sostituiscono virgolette, non si aggiungono virgole e non si eliminano commenti, così nessuna pulizia automatica nasconde un difetto.
Da dove partono il conteggio di riga, colonna e posizione?
Riga e colonna partono da 1, come mostrano quasi tutti gli editor. La posizione parte da 0 e conta i caratteri dall'inizio del testo. Ogni a capo passa alla riga successiva e riporta la colonna all'inizio.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/web/json-validate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"{\"name\":\"Ada\",\"active\":true}"}'const res = await fetch("https://api.kit.forhosting.com/web/json-validate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "{\"name\":\"Ada\",\"active\":true}"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/json-validate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "{\"name\":\"Ada\",\"active\":true}"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/json-validate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"{\\"name\\":\\"Ada\\",\\"active\\":true}"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"{\"name\":\"Ada\",\"active\":true}"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/json-validate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "{\"name\":\"Ada\",\"active\":true}"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.json_validate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
timeout_sec | 30 |
max_crawl_pages | 25 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Incolli o invii una stringa JSON per verificare che la sintassi sia valida senza modificare, formattare o riparare il testo originale. Questa risposta prevedibile è utile negli editor, nei moduli di caricamento, nei controlli di distribuzione, nelle suite di test e in qualsiasi flusso che debba spiegare un documento JSON difettoso senza bloccarsi.
Controlli la sintassi senza modificare il documento
Lo strumento passa il testo fornito direttamente al parser JSON della piattaforma. Questa cautela è importante quando Lei verifica configurazioni o payload API, perché una correzione automatica potrebbe nascondere il difetto che continuerebbe a causare errori in produzione. Un risultato valido indica che l’intera stringa è stata accettata come un solo valore JSON, inclusi oggetti, array, stringhe, numeri, booleani e null. Testo vuoto, contenuto aggiuntivo, commenti, stringhe tra apici singoli, virgole finali e caratteri di controllo senza escape restano invalidi perché non appartengono alla sintassi JSON.
Usi il risultato in sicurezza nei moduli e nei controlli
In un modulo web, esegua la convalida prima di inviare una configurazione e sposti il cursore sulla posizione restituita quando il risultato è falso. L’algoritmo è deterministico e non usa rete, modelli, casualità, orologio o stato persistente. Il tempo di esecuzione cresce linearmente con la dimensione del documento durante l’analisi e il normale calcolo della posizione. In un flusso API, tratti la risposta come dati: prosegua solo se è valida; altrimenti alleghi riga, colonna e messaggio a un rapporto di build, a una richiesta di assistenza o a un caricamento rifiutato. Un JSON non ben formato è contenuto utente previsto, quindi riceve un risultato normale con indicatore falso, non un errore di input. La richiesta viene respinta soltanto se il campo di testo obbligatorio manca o non è una stringa, poiché non esiste una fonte JSON da esaminare. L’API costa $0.002 per richiesta, mentre la versione nel browser esegue localmente lo stesso controllo.
Casi di integrazione
Convalidi la configurazione prima della distribuzione
Blocchi una versione quando un file JSON contiene una virgola mancante, una parentesi non chiusa, un escape errato o un altro difetto sintattico.
Rifiuti esempi di payload API errati
Controlli le stringhe JSON acquisite o generate nei test senza lasciare che un’eccezione interrompa l’esecutore.
Domande tecniche
Che cosa restituisce il validatore di sintassi JSON?
Un JSON valido restituisce un oggetto con valid impostato su true. Un JSON errato restituisce valid su false, un messaggio, una posizione con base zero e riga e colonna con base uno.
Ripara o formatta il JSON non valido?
No. Convalida esattamente la stringa originale e segnala l’errore senza modificare il documento.
Accetta commenti e virgole finali?
No. Lo standard JSON non consente commenti o virgole finali, che vengono segnalati come errori sintattici.
Un valore primitivo può essere un JSON valido?
Sì. Un documento JSON può avere come valore principale un oggetto, array, stringa, numero, booleano o null.
Quanto costa una convalida tramite API?
Ogni richiesta API costa $0.002. Lo strumento interattivo nel browser può eseguire localmente la stessa convalida deterministica.