JSON a YAML

Incolla JSON e ottieni YAML pulito, corretta indentazione di due spazi, stringhe citate solo quando necessario, valori multi-linea resi come scalari a blocchi e ordinamento delle chiavi opzionale in ordine alfabetico. Utile per convertire risposte API in manifest Kubernetes, configurazioni GitHub Actions o qualsiasi strumento nativo YAML.

Come convertire JSON in YAML

  1. 1

    Incolla JSON

    Qualsiasi JSON valido. Il convertitore preserva esattamente la struttura semantica.

  2. 2

    Scegli indentazione e stile

    2 o 4 spazi, stile di flusso per array/oggetti compatti, o stile a blocchi per formati lunghi.

  3. 3

    Opzionale: ordina le chiavi

    L'ordinamento alfabetico rende YAML più facile da confrontare tra due versioni.

  4. 4

    Copia il YAML

    Incolla nel tuo file `.yaml` / `.yml`. L'output è YAML 1.2 valido.

Esempio

Input:

{
  "name": "hyperion",
  "replicas": 3,
  "env": { "DEBUG": "false", "LOG_LEVEL": "info" },
  "command": ["php", "artisan", "queue:work"]
}

Output:

name: hyperion
replicas: 3
env:
  DEBUG: "false"
  LOG_LEVEL: info
command:
  - php
  - artisan
  - queue:work

Mappatura dei tipi

JSON YAML
string non citato, citato o scalare a blocchi come necessario
integer 42
number 3.14
boolean true / false
null null (o ~, o vuoto)
array sequenza a blocchi con - o flusso [...]
object mappatura a blocchi con chiave: valore o flusso {...}

Quando le stringhe necessitano di citazione

YAML interpreta automaticamente alcune stringhe come non-stringhe. I valori che sembrano come questi necessitano di citazioni:

Valore Perché sono necessarie le citazioni
yes, no, on, off Interpretati come booleani (compatibilità YAML 1.1)
null, Null, NULL Interpretati come null
1.23 Interpretati come numero
2026-04-18 Interpretati come data
Spazi bianchi iniziali/finali Verrebbero rimossi
Inizia con *, &, ! Direttive YAML

Il convertitore cita automaticamente questi e lascia il resto non citato per leggibilità.

Differenze di design tra YAML e JSON

  • Commenti: YAML li ha (#), JSON no.
  • Ancore/alias: YAML supporta il cross-referencing (&anchor / *alias); JSON ripete i dati. La conversione non può inferire questi; aggiungili manualmente se li desideri.
  • Stringhe multi-linea: YAML ha scalari a blocchi (| preserva le nuove righe, > le piega). Il convertitore utilizza questi per stringhe lunghe.
  • Rappresentazione null: YAML consente null, ~, o vuoto. Il convertitore emette null per impostazione predefinita.

Errori comuni

  • “Problema della Norvegia” di YAML 1.1. NO senza citazioni è booleano false in YAML 1.1. La maggior parte dei parser moderni è YAML 1.2 dove solo true/false sono booleani, ma alcuni strumenti legacy possono ancora causare problemi.
  • Spazi bianchi finali nei valori. YAML li preserva negli scalari a blocchi, li rimuove negli scalari semplici. Inaspettato se non sai quale forma hai.
  • Tabulazioni nell’indentazione. YAML vieta l’indentazione con tabulazioni. Usa sempre spazi.
  • Stringhe molto lunghe su una sola riga. Spezzale in scalari a blocchi per leggibilità; il convertitore lo fa automaticamente oltre una soglia configurabile.

Domande frequenti

Le stringhe che sembrano altri tipi YAML (booleani, numeri, date, null) necessitano di citazioni per rimanere come stringhe. Le stringhe con caratteri speciali (spazi bianchi iniziali, non stampabili) necessitano anch’esse di citazione. Il convertitore rileva automaticamente e cita dove necessario.

YAML 1.2 per impostazione predefinita. Se hai bisogno di compatibilità YAML 1.1 (strumenti più vecchi, alcuni sistemi CI), abilita “compatibilità YAML 1.1” e il convertitore aggiunge citazioni extra per i valori che sarebbero booleani sotto 1.1 (yes, no, on, off).

Sì. Lo stile di flusso ([1, 2, 3] e { a: 1 }) è disponibile per array e oggetti compatti. La maggior parte dei file di configurazione preferisce lo stile a blocchi per leggibilità.

Sì, con una caveat: il YAML di K8s spesso si basa su commenti e ancore che JSON non può esprimere. Converti la forma dei dati e poi aggiungi commenti / ancore manualmente.

Strumenti correlati

Strumento disponibile in altre lingue