Da YAML a JSON
Uno strumento che converte tra YAML e JSON nei due sensi. YAML è il formato leggibile dei file di configurazione — docker-compose, pipeline, impostazioni di un’app — mentre JSON è quello che programmi e API scambiano di più. Incolli o carichi il contenuto, scegli la direzione e ottieni subito il risultato, nel browser.
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Nei due sensi
Da YAML a JSON per dare una configurazione in pasto a un programma; da JSON a YAML per rendere leggibile a una persona un blocco di dati fitto. Il KIT capisce da solo il formato di partenza, ma puoi anche forzarlo. La struttura — oggetti, liste, valori annidati — viene mantenuta identica: cambia solo il modo in cui è scritta, non il contenuto.
Indentazione e tipi
In YAML conta l’indentazione: uno spazio di troppo e il file non è più valido. Il convertitore segnala dove la struttura non torna, così individui subito il punto sbagliato. I tipi restano coerenti: “true” resta un booleano, “42” un numero e “3.14” un decimale, senza trasformarsi in testo. Le stringhe con i due punti o con caratteri speciali vengono protette come serve.
Cosa succede ai commenti
Il YAML permette i commenti con il “#”, comodissimi per spiegare una configurazione; il JSON no. Passando da YAML a JSON i commenti quindi spariscono, perché il formato non li prevede: è normale, non un errore. Se ti servono le note, tienile nel YAML e usa il JSON solo come formato di scambio verso i programmi.
Casi d'uso
Configurazioni di sviluppo
Uno sviluppatore ha un docker-compose in YAML e gli serve la stessa struttura in JSON per uno script. La converte al volo, senza riscriverla a mano.
Leggere impostazioni fitte
Un file di impostazioni arriva in JSON compatto e illeggibile. Convertito in YAML diventa chiaro e commentabile, più facile da rivedere con un collega.
Passare dati a un’API
Hai scritto dei dati in YAML perché più comodo; l’API vuole JSON. Una conversione e sono pronti da inviare, con la struttura intatta.
Domande frequenti
Converte anche da JSON a YAML?
Sì, funziona nei due sensi: da YAML a JSON e da JSON a YAML. Il KIT riconosce il formato di partenza in automatico, ma puoi anche indicarlo tu.
Cosa succede ai commenti del YAML?
Passando a JSON i commenti “#” spariscono, perché il formato JSON non li prevede: è normale. Se ti servono le note, conserva il file YAML come originale.
Mi dice dove sbaglio l’indentazione?
Sì: se lo YAML non è valido per via di uno spazio o di un allineamento sbagliato, lo strumento segnala il punto problematico, così lo correggi in fretta.
È gratis?
Nel browser sì, senza registrazione né limiti. Via API costa $0.002 a richiesta, prezzo pubblicato, senza abbonamento.
I miei file vengono caricati online?
No: la conversione avviene nel browser, quindi configurazioni e chiavi restano sul tuo dispositivo e non passano da un server.
Posso incollare il testo invece di caricare un file?
Sì. Puoi incollare direttamente il contenuto YAML o JSON nella pagina, oppure caricare un file fino a 25 MB.
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/data/yaml-json \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/data/yaml-json", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/yaml-json",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/yaml-json", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/yaml-json", 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
{
"input": "…"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.yaml_json",
"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
max_mb | 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. |