Validare la sintassi JSON
Incolli o invii una stringa JSON per verificare che la sintassi sia valida senza modificare, formattare o riparare il testo originale.
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. 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
Un validatore sintattico deve rispondere a una domanda precisa: un parser conforme allo standard riesce a leggere esattamente questa stringa? Lo strumento passa il testo fornito direttamente al parser JSON della piattaforma. Non elimina spazi, non sostituisce virgolette, non rimuove commenti, non inserisce virgole, non riordina chiavi e non reinterpreta valori. 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. 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. 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.
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.
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. 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’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. L’API costa $0.002 per richiesta, mentre la versione nel browser esegue localmente lo stesso controllo.
Casi d'uso
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.
Fornisca indicazioni precise in un editor
Usi offset, riga e colonna restituiti per guidare l’utente fino al punto in cui l’analisi è fallita.
Rifiuti esempi di payload API errati
Controlli le stringhe JSON acquisite o generate nei test senza lasciare che un’eccezione interrompa l’esecutore.
Domande frequenti
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.
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. |