Vai al contenuto

Conversione del formato da YAML a JSON — Numio

Analizza un documento YAML con la libreria yaml (schema core YAML 1.2) e lo restituisce come JSON rientrato. I commenti vengono eliminati, gli ancoraggi e gli alias vengono espansi e valori come sì o 2024-01-01 rimangono stringhe.

Invio delle impostazioni scritte in YAML a un validatore di schema API o JSON che accetta solo JSON.

YAML

Quando usarlo

  • Invio delle impostazioni scritte in YAML a un validatore di schema API o JSON che accetta solo JSON.
  • Controllare come viene effettivamente digitato un file CI o Kubernetes, ad es. se una versione è una stringa o un numero.

Come si usa

  1. Incolla un singolo documento YAML o carica un file .yaml/.yml.
  2. Se appare un errore, controlla il rientro, le chiavi duplicate e i separatori --- nella riga segnalata.
  3. Esamina le stringhe rispetto ai numeri nell'output JSON, quindi copialo.

Ingresso YAML

# deployment settings
service: billing-api
replicas: 2
version: "1.10"
enabled: yes
ports:
  - 80
  - 443
env:
  LOG_LEVEL: info

JSON

{
  "service": "billing-api",
  "replicas": 2,
  "version": "1.10",
  "enabled": "yes",
  "ports": [
    80,
    443
  ],
  "env": {
    "LOG_LEVEL": "info"
  }
}

Dettagli e limiti

L'analisi viene eseguita nel browser. L'output è sempre JSON a 2 spazi; non esiste un'opzione di minimizzazione.

Si applicano le regole YAML 1.2: sì/no/on/off sono stringhe, non booleani, e le date senza virgolette rimangono stringhe. 0o17 è ottale (15).

Le chiavi di unione (<<: *anchor) non vengono unite; appaiono come una chiave letterale "<<". Le chiavi duplicate in una mappatura rappresentano un errore.

I numeri interi oltre 2^53 perdono precisione in JSON. Citare gli ID lunghi in YAML.

FAQ

Può convertire un file con più documenti separati da ---?

No. Più documenti provocano l’errore "Source contains multiple documents". Incolla un documento alla volta. Un solo --- iniziale è consentito.

Perché è abilitato: sì una stringa nel JSON?

Il parser segue YAML 1.2, dove solo vero e falso sono booleani. Scrivi vero/falso se hai bisogno di un booleano JSON.

Sono supportati ancoraggi e alias?

Sì. Un alias come *base viene sostituito da una copia del valore ancorato. Tuttavia, la chiave di unione YAML 1.1 << non viene applicata.

Specifiche e riferimenti