Perché formattare JSON o YAML?
Se lavori con API REST o pipeline CI/CD, manipoli JSON e YAML più volte al giorno. Un JSON compatto copiato da una risposta API è difficile da leggere; un YAML con indentazione errata blocca un deployment Kubernetes. Minificare il JSON riduce la dimensione del payload dal 30 al 60 % eliminando spazi e interruzioni di riga.
Tre casi d'uso comuni:
- Debug API → Pretty-Print di un payload JSON minificato per leggere i campi e individuare un errore
- Conversione di configurazioni → Trasformare un JSON in YAML per un
docker-compose.ymlo un manifest Kubernetes - Validazione rapida → Verificare che un documento JSON o YAML non contenga errori di sintassi
Come usare il JSON / YAML Formatter in 3 passaggi
Passaggio 1: incolla il contenuto
Incolla il tuo JSON o YAML nell'area di input. Lo strumento accetta documenti fino a 1 MB.
Passaggio 2: scegli l'operazione
Seleziona la modalità adatta:
- Formatta JSON: Pretty-Print con indentazione a 2 spazi (default), oppure minify
- JSON → YAML: conversione completa verso YAML
- Formatta YAML: normalizza l'indentazione YAML
- YAML → JSON: conversione verso JSON indentato
Passaggio 3: recupera il risultato
Clicca su "Formatta / Converti". Il risultato appare nell'area di output. Copialo direttamente.
Cos'è JSON e cos'è YAML?
JSON (RFC 8259) è un formato testuale strutturato (oggetti, array, scalari). È lo standard dominante delle API REST e dello scambio dati sul web.
YAML (spec 1.2) è un sovrainsieme di JSON, più leggibile grazie all'indentazione. È lo standard per le configurazioni Kubernetes, Docker Compose, GitHub Actions, GitLab CI e Ansible. Qualsiasi JSON valido è anche YAML valido.
Esempio di conversione:
{
"name": "captaindns.com",
"records": [
{"type": "A", "value": "93.184.216.34"},
{"type": "MX", "value": "mail.captaindns.com"}
]
}
Convertito in YAML:
name: captaindns.com
records:
- type: A
value: 93.184.216.34
- type: MX
value: mail.captaindns.com
Quali operazioni supporta lo strumento?
| Operazione | Input | Output | Uso tipico |
|---|---|---|---|
| Formatta JSON | JSON compatto o mal indentato | JSON indentato (2 o 4 spazi) o minificato | Debug API, leggibilità |
| JSON → YAML | JSON valido | YAML formattato | Creare un docker-compose, manifest K8s |
| Formatta YAML | YAML con indentazione irregolare | YAML normalizzato | Pulire una configurazione prima del commit |
| YAML → JSON | YAML valido | JSON indentato o minificato | Preparare un payload API da una configurazione YAML |
Casi d'uso reali
Scenario 1: debug di una risposta API
Sintomo: ricevi un payload JSON minificato di 500 caratteri su una sola riga. Diagnosi: incolla il JSON e seleziona "Formatta JSON". Azione: il JSON viene indentato e reso leggibile. Individua il campo problematico in pochi secondi.
Scenario 2: convertire una configurazione Terraform in YAML
Sintomo: hai un output JSON da terraform output -json e devi integrarlo in un file YAML.
Diagnosi: incolla il JSON e seleziona "JSON → YAML".
Azione: copia il YAML generato direttamente nel tuo file di configurazione.
Scenario 3: validare un docker-compose.yml
Sintomo: un docker compose up fallisce con un errore di parsing.
Diagnosi: incolla il YAML e seleziona "Formatta YAML". Se il YAML non è valido, lo strumento segnala l'errore.
Azione: correggi l'errore individuato e rilancia il deployment.
❓ FAQ - Domande frequenti
D: Qual è la dimensione massima accettata?
R: Lo strumento accetta documenti JSON o YAML fino a 1 MB. Per file più grandi, utilizza jq (JSON) o yq (YAML) da riga di comando.
D: Lo strumento valida la sintassi JSON?
R: Sì. Se il JSON non è valido, lo strumento restituisce un errore esplicito (ERR_INVALID_JSON_INPUT) con un messaggio descrittivo.
D: Qual è la differenza tra JSON e YAML?
R: JSON usa parentesi graffe, virgolette e virgole. YAML usa l'indentazione ed è più leggibile per le persone. YAML è un sovrainsieme di JSON.
D: Cosa significa minificare il JSON?
R: Minificare rimuove tutti gli spazi e le interruzioni di riga superflui per ottenere un JSON compatto su una sola riga.
D: Come gestisce lo strumento le chiavi non-string in YAML?
R: YAML consente chiavi numeriche o booleane (true: value, 42: data). Durante la conversione verso JSON, vengono automaticamente convertite in stringhe.
D: I miei dati vengono archiviati?
R: No. Il contenuto viene elaborato in memoria ed eliminato immediatamente dopo la risposta.
D: Posso usare questo strumento per validare un file Kubernetes?
R: Lo strumento valida la sintassi YAML, non lo schema Kubernetes. Usa kubectl apply --dry-run per la validazione dello schema.
Strumenti complementari
| Strumento | Utilità |
|---|---|
| Encoder / decoder Base64 | Codificare payload JSON in Base64 per il trasporto |
| Encoder / decoder URL | Codificare JSON in una query string URL |
| Regex Tester | Estrarre valori da un JSON con espressioni regolari |
| Hash Generator | Calcolare l'hash di un documento JSON per verificarne l'integrità |
Risorse utili
- RFC 8259 - The JSON Data Interchange Format (specifica ufficiale JSON)
- YAML 1.2 Specification (specifica ufficiale YAML)
- jq - Command-line JSON processor (strumento CLI per manipolare JSON)
- yq - Command-line YAML processor (strumento CLI per manipolare YAML)