Skip to content

Convertitore YAML in JSON

Incolla YAML e ottieni JSON istantaneamente nel browser. Supporta manifest K8s, specifiche OpenAPI e values Helm. 100% privato, nessun upload, nessun server.

Niente tracciamento Funziona nel browser Gratuito
Opzioni · 2 spazi
Rientro
0 caratteri
JSON Output
0 righe
Revisionato per la conformità alle specifiche YAML 1.2, l'espansione di ancore/alias e la correttezza della gestione multi-documento — Go Tools Engineering Team · May 4, 2026

Cos'è JSON?

JSON (JavaScript Object Notation) è un formato leggero di scambio dati basato su testo, standardizzato come RFC 8259 ed ECMA-404. Supporta sei tipi di dati — stringhe, numeri, booleani, null, array e oggetti — con una sintassi rigorosa e minimale che praticamente ogni linguaggio di programmazione, API e toolchain può analizzare nativamente. Mentre YAML è il formato preferito per i file di configurazione scritti dagli umani (manifest Kubernetes, GitHub Actions, playbook Ansible, values Helm), JSON è il formato universale leggibile dalle macchine per API, script di automazione ed elaborazione dati programmatica.

Convertire YAML in JSON è quindi uno dei compiti più comuni nel DevOps e nello sviluppo backend — hai un file di configurazione YAML ma hai bisogno di JSON per alimentare una REST API, effettuare query con jq o elaborarlo con strumenti JavaScript.

Questo strumento ha quattro differenziatori importanti rispetto ai tipici convertitori online:

**1. Gestione del YAML multi-documento.** YAML supporta più documenti in un singolo stream separati da --- (il marcatore di inizio documento). Molti file YAML reali — inclusi alcuni manifest Kubernetes e playbook Ansible — contengono più documenti. Questo strumento usa parseAllDocuments dalla libreria eemeli/yaml con opzioni { version: '1.2', merge: true } e restituisce il primo documento come JSON, comunicando chiaramente cosa è stato preso. Se hai bisogno di tutti i documenti, dividi su --- e converti ciascuno singolarmente.

**2. Espansione di ancore e alias.** Le ancore YAML (&nome) e gli alias (*nome) permettono il riuso di blocchi di dati — una potente funzionalità YAML senza equivalente in JSON. Questo strumento espande completamente tutte le ancore e gli alias (incluse le chiavi merge: <<: *anchor) così l'output JSON contiene dati completi e auto-contenuti senza riferimenti. Questa è sempre la trasformazione corretta perché JSON non ha sintassi di riferimento. L'espansione è gestita in modo sicuro dalla libreria eemeli/yaml, che include la protezione contro i riferimenti circolari. Vedi come si confronta con la direzione inversa su Convertitore JSON in YAML.

**3. Perdita dei commenti — trasparenza educativa.** YAML supporta i commenti #, che vengono usati frequentemente nei manifest Kubernetes, nei values Helm e nei playbook Ansible per documentare l'intento. JSON non ha sintassi per i commenti, quindi i commenti vengono persi definitivamente durante la conversione. Questo non è un bug — è una differenza fondamentale di formato. Questo strumento lo rende esplicito così sai cosa aspettarti. Se hai bisogno di preservare le annotazioni, codificale come campi JSON (chiavi _comment o un oggetto metadata dedicato) prima di convertire, o tieni YAML come fonte autorevole. Vedi il nostro approfondimento sulle differenze YAML-JSON per ulteriori informazioni sui compromessi tra formati.

**4. Privacy 100% basata su browser.** I tuoi dati YAML — che spesso contengono segreti Kubernetes, credenziali di database, values Helm con password e configurazioni di servizi interni — non lasciano mai il browser. Nessun dato viene inviato a nessun server. Puoi verificarlo nella scheda Rete del browser. Dopo aver convertito in JSON, puoi validare e formattare il risultato con il nostro Formattatore JSON prima di usarlo downstream.

La ricchezza di YAML (commenti, ancore, supporto multi-documento, scalari a blocchi) lo rende eccellente per i file di configurazione scritti dagli umani dove leggibilità e documentazione contano. La rigidità e universalità di JSON lo rendono la scelta migliore quando la macchina è il consumatore principale. Questo convertitore fa da ponte tra i due mondi: tieni la tua configurazione in YAML per la manutenibilità umana, converti in JSON quando hai bisogno di uno scambio leggibile dalle macchine.

// Convert YAML to JSON in Node.js using the eemeli/yaml library
import { parseAllDocuments } from 'yaml';

const yamlString = `apiVersion: apps/v1
kind: Deployment`;

// parseAllDocuments handles multi-document YAML (--- separator)
// version: '1.2' ensures yes/no are strings, not booleans
// merge: true expands anchor/alias merge keys (<<: *anchor)
const docs = parseAllDocuments(yamlString, { version: '1.2', merge: true });

// Take the first document (skip additional --- blocks)
const json = JSON.stringify(docs[0].toJSON(), null, 2);

console.log(json);
// {
//   "apiVersion": "apps/v1",
//   "kind": "Deployment"
// }

Funzionalità Principali

Conversione in tempo reale

L'output JSON si aggiorna istantaneamente mentre digiti o incolli YAML — nessun pulsante Converti necessario. Gli input grandi (>200 KB) passano automaticamente alla modalità manuale per mantenere il browser reattivo.

Rientro a 2 o 4 spazi

Passa tra l'indentazione a 2 e 4 spazi per l'output JSON. 2 spazi è lo standard per la maggior parte degli strumenti e delle API; 4 spazi corrisponde ad alcune guide di stile e impostazioni predefinite degli editor.

Supporto multi-documento

Gestisce stream YAML con più documenti separati da ---. Il primo documento viene convertito in JSON e restituito. Utile per file multi-risorsa Kubernetes e playbook Ansible.

Espansione di ancore e alias

Espande completamente le ancore YAML (&nome) e gli alias (*nome), incluse le chiavi merge (<<: *anchor). L'output JSON contiene dati completi e de-referenziati senza riferimenti — il comportamento corretto dato che JSON non ha equivalenti.

Privacy 100% basata su browser

Tutta la conversione gira localmente nel browser usando JavaScript. I tuoi dati YAML — inclusi segreti, credenziali e configurazioni di produzione — non vengono mai inviati a nessun server, mai registrati e mai archiviati.

Supporta file K8s, Compose, Helm e OpenAPI

Ottimizzato per casi d'uso DevOps reali: manifest Kubernetes, stack Docker Compose, values di Helm chart, workflow GitHub Actions, specifiche OpenAPI e playbook Ansible — con esempi per ciascuno.

Esempi

Kubernetes Manifest

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
  namespace: production
  labels:
    app: my-app
    version: 1.0.0
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: my-app
          image: my-app:1.0.0
          ports:
            - containerPort: 8080
          resources:
            requests:
              memory: 64Mi
              cpu: 250m
            limits:
              memory: 128Mi
              cpu: 500m

Converti un manifest Kubernetes Deployment da YAML in JSON — utile per effettuare query con jq, inviarlo all'API Kubernetes o usarlo in pipeline Terraform e CI/CD

Docker Compose

version: '3.9'
services:
  web:
    image: nginx:1.25-alpine
    ports:
      - '80:80'
      - '443:443'
    environment:
      NGINX_HOST: example.com
      NGINX_PORT: '80'
    depends_on:
      - db
    restart: unless-stopped
  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_DB: mydb
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: secret
    volumes:
      - pgdata:/var/lib/postgresql/data
volumes:
  pgdata: {}

Converti un file Docker Compose da YAML in JSON per la manipolazione programmatica, l'uso in script di automazione o l'elaborazione con strumenti JavaScript

GitHub Actions Workflow

name: CI
on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20'
          cache: pnpm
      - name: Install dependencies
        run: pnpm install --frozen-lockfile
      - name: Run tests
        run: pnpm test

Analizza un workflow YAML GitHub Actions in JSON per interrogare campi specifici, validare la struttura o integrarsi con API che accettano JSON

OpenAPI Spec

openapi: 3.0.3
info:
  title: User API
  version: 1.0.0
  description: Manage application users
paths:
  /users:
    get:
      summary: List users
      operationId: listUsers
      parameters:
        - name: limit
          in: query
          schema:
            type: integer
            default: 20
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
  /users/{id}:
    get:
      summary: Get user
      operationId: getUser
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
components:
  schemas:
    User:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        email:
          type: string
          format: email

Converti una specifica OpenAPI 3.0 da YAML in JSON per i generatori di codice client, gli strumenti di test API o l'ispezione programmatica degli schema

Helm values.yaml

replicaCount: 3
image:
  repository: my-app
  tag: 1.0.0
  pullPolicy: IfNotPresent
service:
  type: ClusterIP
  port: 80
ingress:
  enabled: true
  className: nginx
  hosts:
    - host: my-app.example.com
      paths:
        - path: /
          pathType: Prefix
resources:
  requests:
    memory: 64Mi
    cpu: 250m
  limits:
    memory: 128Mi
    cpu: 500m
autoscaling:
  enabled: false
  minReplicas: 1
  maxReplicas: 10
  targetCPUUtilizationPercentage: 80

Converti il file values.yaml di un Helm chart in JSON per analisi, generazione di report o uso in strumenti che richiedono configurazione JSON

Ansible Playbook

- name: Configure web servers
  hosts: webservers
  become: true
  vars:
    http_port: 80
    max_clients: 200
  tasks:
    - name: Ensure nginx is installed
      ansible.builtin.package:
        name: nginx
        state: present
    - name: Start nginx service
      ansible.builtin.service:
        name: nginx
        state: started
        enabled: true
    - name: Copy nginx config
      ansible.builtin.template:
        src: nginx.conf.j2
        dest: /etc/nginx/nginx.conf
        owner: root
        group: root
        mode: '0644'
      notify:
        - Restart nginx
  handlers:
    - name: Restart nginx
      ansible.builtin.service:
        name: nginx
        state: restarted

Analizza un playbook Ansible YAML in JSON per ispezionare la struttura dei task, fare audit delle configurazioni o integrarsi con pipeline di reporting

Come Usarlo

  1. 1

    Incolla il tuo YAML

    Inserisci o incolla i tuoi dati YAML nel campo di input qui sopra. Puoi anche cliccare su «Carica esempio» per provare un campione come un Kubernetes Deployment, un file Docker Compose o un Helm values.yaml.

  2. 2

    Vedi l'output JSON in tempo reale

    Il JSON compare istantaneamente nel pannello di output. Regola le Opzioni (rientro 2 o 4 spazi) per soddisfare i requisiti dello strumento di destinazione.

  3. 3

    Copia o scarica

    Clicca Copia per copiare il JSON negli appunti, o Scarica per salvarlo come file .json pronto per jq, chiamate API o qualsiasi strumento downstream.

Problemi YAML Comuni

Indentazione con tab

La specifica YAML proibisce i caratteri tab per l'indentazione — sono ammessi solo spazi. Se il tuo YAML è stato scritto o copiato da un editor che usa i tab, il parser lancerà un errore. Sostituisci tutta l'indentazione con tab con spazi (2 o 4 spazi per livello).

✗ Errato
services:
	web:
		image: nginx:1.25-alpine
✓ Corretto
services:
  web:
    image: nginx:1.25-alpine

Indentazione non corrispondente

YAML usa un'indentazione coerente per definire la nidificazione. Mescolare numeri diversi di spazi all'interno dello stesso blocco (ad esempio 2 spazi a un livello e 3 a un altro) causa errori di analisi. Ogni livello deve rientrare dello stesso numero di spazi in tutto il documento.

✗ Errato
metadata:
  name: my-app
   namespace: production
✓ Corretto
metadata:
  name: my-app
  namespace: production

Caratteri speciali senza virgolette

Caratteri come :, #, &, *, {, }, [, ], |, >, ! e @ hanno significati speciali in YAML. Usarli senza virgolette nei valori può causare errori di analisi o comportamenti inattesi. Metti tra virgolette i valori che contengono questi caratteri con virgolette singole o doppie.

✗ Errato
url: http://example.com:8080/api
tag: #latest
✓ Corretto
url: 'http://example.com:8080/api'
tag: '#latest'

Cicli nelle ancore

YAML tecnicamente permette ancore che fanno riferimento a se stesse (riferimenti circolari), anche se è raro in pratica. Un'ancora circolare fa sì che il parser entri in un loop di espansione infinito. La libreria eemeli/yaml rileva e lancia un errore per le ancore circolari invece di bloccarsi.

✗ Errato
# Circular anchor (rare but possible)
base: &base
  parent: *base
✓ Corretto
# Use explicit fields instead of circular references
base:
  parent: null

Confusione con i multi-documento

I file YAML con più separatori --- contengono più documenti. Questo strumento restituisce solo il primo documento come JSON. Se ti aspettavi dati da un documento successivo (dopo il secondo o terzo ---), non compariranno nell'output. Dividi il tuo YAML su --- e converti ogni sezione separatamente se hai bisogno di tutti i documenti.

✗ Errato
# Only the first document is converted
apiVersion: v1
kind: ConfigMap
---
apiVersion: v1
kind: Secret
✓ Corretto
# Convert each document separately
apiVersion: v1
kind: ConfigMap

Perdita dei commenti

YAML supporta commenti # ma JSON no. Tutti i commenti YAML vengono persi definitivamente durante la conversione — questa è una differenza fondamentale di formato, non una limitazione dello strumento. Se hai bisogno di preservare annotazioni in JSON, codificale come campo dedicato come una chiave _comment o un oggetto metadata.

✗ Errato
# This comment will be lost
replicas: 3 # scale this up for production
✓ Corretto
replicas: 3
_comment: scale this up for production

Casi d'Uso Comuni

Analisi di manifest Kubernetes
Converti i manifest YAML Kubernetes in JSON per effettuare query con jq, inviare all'API REST Kubernetes, elaborare in data source Terraform o alimentare pipeline CI/CD che si aspettano JSON.
Docker Compose verso strumenti JavaScript
Analizza Docker Compose YAML in JSON per estrarre definizioni di servizi, nomi di immagini, mapping di porte e variabili d'ambiente per script di automazione, grafi di dipendenze o strumenti Node.js.
Integrazione API GitHub Actions
Converti i workflow YAML GitHub Actions in JSON per validare la struttura programmaticamente, estrarre definizioni di job e step, o integrarsi con API CI/CD che accettano specifiche di workflow JSON.
OpenAPI per la generazione di codice client
Molti generatori di codice (openapi-generator, swagger-codegen, oazapfts) accettano specifiche OpenAPI in entrambi i formati. Converti la tua specifica YAML in JSON quando uno strumento richiede specificamente input JSON o quando hai bisogno di ispezionarla con validatori JSON Schema.
Analisi dei values Helm
Converti il file values.yaml di Helm chart in JSON per generare report, confrontare values tra ambienti, alimentare strumenti di policy enforcement o elaborare con automazioni che si aspettano configurazione JSON.
Migrazione della configurazione verso strumenti JSON
Migra la configurazione dell'applicazione da YAML (comune negli strumenti di infrastruttura) a JSON per ambienti JavaScript, REST API, AWS AppConfig, Azure App Configuration o qualsiasi sistema che archivia la configurazione come JSON.

Dettagli Tecnici

Specifica YAML 1.2 tramite parseAllDocuments con merge:true
Il YAML viene analizzato usando la libreria eemeli/yaml (v2.8+, CVE-safe) tramite parseAllDocuments con { version: '1.2', merge: true }. Lo schema YAML 1.2 assicura che le stringhe semplici come yes e no vengano trattate come stringhe (non come booleani), rispettando la specifica YAML attuale. L'opzione merge: true espande completamente le chiavi merge delle ancore/alias (<<: *anchor) così l'output JSON contiene dati completi e de-referenziati. Il YAML multi-documento (separato da ---) restituisce il primo documento.
Espansione di ancore e alias tramite libreria
La libreria eemeli/yaml gestisce l'espansione di ancore (&nome) e alias (*nome) in modo sicuro, incluso il rilevamento dei riferimenti circolari. Tutti i blocchi di dati con alias — incluse le espansioni delle chiavi merge — vengono completamente inline nell'output JSON. Questa è la trasformazione corretta perché JSON non ha il concetto di riferimento o ancora. L'espansione sicura della libreria previene i loop infiniti da YAML malformato.
Basato su browser — nessun upload, nessun server
Tutta l'elaborazione avviene interamente nel motore JavaScript del browser. Nessun dato viene trasmesso in rete in nessun momento. Gli input più grandi di 200 KB passano automaticamente dalla modalità in tempo reale alla modalità manuale (richiedendo un clic esplicito su Converti) per mantenere il browser reattivo e prevenire il blocco del thread principale durante la serializzazione pesante.

Buone Pratiche

Usa la sintassi compatibile con YAML 1.2 per conversioni pulite
Scrivi il tuo YAML usando le convenzioni YAML 1.2 — metti esplicitamente tra virgolette i valori stringa yes, no, on, off, y e n (ad esempio enabled: 'yes') per evitare ambiguità. Questo strumento analizza con lo schema YAML 1.2 (quindi sono stringhe), ma gli strumenti più vecchi nella tua pipeline potrebbero usare YAML 1.1 (dove diventano booleani). Le virgolette esplicite nel YAML sorgente sono la pratica più sicura per tutti i parser.
Metti tra virgolette i numeri grandi in YAML per preservare la precisione
JavaScript non può rappresentare esattamente interi maggiori di 2^53 - 1 (9007199254740991). I campi Kubernetes come resourceVersion e uid sono int64 sul server e possono superare questo limite. Nel tuo sorgente YAML, metti tra virgolette questi valori (resourceVersion: '9007199254740993') così il parser li tratta come stringhe, che vengono poi preservate esattamente nell'output JSON come valori stringa.
Valida l'output JSON prima di usarlo nelle API
Dopo aver convertito YAML in JSON, valida il risultato prima di inviarlo a un'API, archiviarlo o elaborarlo programmaticamente. Usa il nostro Formattatore JSON per confermare che la struttura sia corretta. Questo è particolarmente importante per le chiamate API Kubernetes, le specifiche OpenAPI e qualsiasi payload validato con JSON Schema, dove un errore strutturale causa un rifiuto confuso a livello API piuttosto che al passaggio di conversione.
Separa il YAML multi-documento prima di convertire
Se il tuo file YAML contiene più documenti separati da --- e hai bisogno di tutti come JSON, dividi prima il file su --- e converti ogni documento singolarmente. Questo strumento prende solo il primo documento. Un approccio semplice: dividi su '\n---\n' nel tuo editor o con awk, poi incolla ogni sezione separatamente.
Usa jq per l'elaborazione JSON downstream
Una volta che hai JSON dal tuo YAML, jq è il modo più veloce per interrogarlo e trasformarlo dalla riga di comando. Combina questo strumento con jq: converti il tuo YAML online, incolla il JSON, poi usa jq '.spec.replicas' o jq '.services | keys' per estrarre esattamente ciò di cui hai bisogno. Per l'elaborazione in batch di molti file, usa direttamente il CLI yq con il flag -o json.

Domande Frequenti

Come converto YAML in JSON online?
Incolla il tuo YAML nel campo di input qui sopra. Lo strumento lo converte in JSON istantaneamente nel browser — nessun clic necessario. Puoi regolare l'indentazione dell'output (2 o 4 spazi) dal pannello Opzioni. Quando il JSON compare nell'area di output, clicca Copia per copiarlo negli appunti o Scarica per salvarlo come file .json. Tutto gira localmente — i tuoi dati non lasciano mai il dispositivo.
Come gestisce questo strumento il YAML multi-documento (separatore ---)?
YAML supporta più documenti in un singolo stream, separati da --- (il marcatore di inizio documento). Quando incolli una stringa YAML multi-documento, questo strumento usa parseAllDocuments dalla libreria eemeli/yaml e restituisce il primo documento come JSON. I documenti aggiuntivi dopo il primo vengono ignorati silenziosamente. Se hai bisogno di elaborare tutti i documenti, dividi il tuo YAML su --- e converti ogni sezione singolarmente.
Come vengono gestiti le ancore e gli alias YAML (&anchor e *alias)?
Le ancore YAML (&nome) definiscono un blocco riutilizzabile, e gli alias (*nome) vi fanno riferimento. Questo strumento espande completamente tutte le ancore e gli alias durante l'analisi, così il JSON di output contiene i dati completi e de-referenziati. Ad esempio, se un'ancora YAML definisce un set di limiti di risorse e più servizi vi fanno riferimento tramite chiavi merge (<<: *anchor), l'output JSON mostra ogni campo esplicitamente inline per ogni servizio. Questo è il comportamento corretto per JSON, che non ha il concetto di riferimenti. La libreria eemeli/yaml gestisce l'espansione di ancore/alias in modo sicuro, incluso il rilevamento dei riferimenti circolari.
I commenti YAML vengono preservati nell'output JSON?
No. JSON non supporta commenti di alcun tipo — né #, né //, né /* */. Quando converti YAML in JSON, tutti i commenti vengono persi definitivamente. Questa è una differenza fondamentale di formato, non una limitazione di questo strumento. Se hai bisogno di preservare annotazioni, considera di codificarle come campo JSON dedicato (come una chiave _comment) prima di convertire, o tieni il sorgente YAML come versione autorevole con i commenti.
Come uso questo strumento con un manifest Kubernetes?
Incolla il tuo manifest YAML Kubernetes (da un file .yaml, dall'output di kubectl get -o yaml o da un template Helm) nel campo di input. L'output JSON può poi essere interrogato con jq, inviato direttamente all'API REST Kubernetes, usato in data source Terraform o elaborato da qualsiasi strumento che si aspetta JSON. Un workflow comune è convertire i manifest YAML in JSON per estrarre campi specifici — ad esempio: jq '.spec.replicas' sull'output JSON per verificare i conteggi di repliche tra i deployment. L'esempio K8s Deployment qui sopra mostra un manifest completo che puoi caricare e modificare.
Come aiuta questo strumento con i file Docker Compose?
I file Docker Compose sono YAML per convenzione. Convertirli in JSON permette di elaborare le definizioni dei servizi con strumenti JavaScript, script jq o qualsiasi sistema che legge JSON. I casi d'uso comuni includono estrarre tutti i nomi delle immagini per costruire un elenco di dipendenze, generare report da un file compose o fornire le configurazioni Compose a strumenti di orchestrazione CI/CD che accettano JSON. Incolla il tuo compose.yaml nell'input e l'output JSON è immediatamente pronto per l'elaborazione downstream.
Qual è la differenza tra YAML 1.1 e YAML 1.2, e quale usa questo strumento?
YAML 1.1 (la specifica più vecchia, ancora usata da PyYAML, Ansible, Ruby Psych e molti strumenti Kubernetes) tratta stringhe semplici come yes, no, on, off, y e n come valori booleani true/false. Questo ha causato il famoso problema Norway per cui il codice ISO del paese «NO» veniva interpretato come false. YAML 1.2 (la specifica attuale, rilasciata nel 2009) ha corretto questo: tutte le stringhe semplici sono stringhe, e solo true/false sono booleani. Questo strumento usa lo schema YAML 1.2 per l'analisi, il che significa che yes e no nel tuo input YAML vengono preservati come valori stringa 'yes' e 'no' nell'output JSON — non come booleani true e false. Questo è il comportamento corretto e moderno.
Perché YAML proibisce l'indentazione con tab?
La specifica YAML proibisce esplicitamente i caratteri tab (\t) per l'indentazione — sono ammessi solo spazi. Questa è una scelta progettuale deliberata per evitare l'ambiguità causata dall'ampiezza inconsistente dei tab tra i vari editor. Se il tuo YAML usa i tab per l'indentazione (comune quando si copia da editor di testo che convertono automaticamente gli spazi in tab), il parser YAML lancerà un errore. La soluzione è sostituire tutta l'indentazione con tab con spazi. La maggior parte degli editor di codice ha un'impostazione per convertire i tab in spazi (ad esempio «Expand Tabs» in Vim, «Insert Spaces» in VS Code).
I numeri grandi possono perdere precisione durante la conversione da YAML a JSON?
Sì. Questa è una limitazione fondamentale di JavaScript che riguarda tutti gli strumenti basati su browser. Il float a doppia precisione IEEE 754 di JavaScript può rappresentare gli interi esattamente solo fino a 2^53 - 1 (9007199254740991). I numeri YAML più grandi di questo — come i campi int64 di Kubernetes come resourceVersion — vengono arrotondati silenziosamente quando il parser YAML li passa al tipo numerico di JavaScript. La soluzione sicura è mettere tra virgolette i numeri grandi nel tuo sorgente YAML (resourceVersion: '9007199254740993') così il parser li tratta come stringhe, che vengono poi preservate esattamente in JSON come valori stringa.
Come posso convertire YAML in JSON dalla riga di comando?
L'approccio più diffuso usa yq (la versione di Mike Farah) e jq. Installa yq: brew install yq su macOS o scarica da github.com/mikefarah/yq/releases per Linux. Poi esegui: yq -o json input.yaml per convertire un file YAML in JSON, o cat input.yaml | yq -o json - per l'input da stdin. Per l'output formattato: yq -o json input.yaml | jq . — questo passa il JSON attraverso jq per una formattazione coerente. Per un one-liner Python: python3 -c "import sys, json, yaml; print(json.dumps(yaml.safe_load(sys.stdin), indent=2))" < input.yaml.
I miei dati YAML vengono inviati a un server quando uso questo strumento?
No. Tutta la conversione avviene interamente nel browser usando JavaScript. I tuoi dati YAML non vengono mai trasmessi in rete, mai archiviati su alcun server e mai registrati o analizzati. Questo rende lo strumento sicuro da usare con segreti Kubernetes, credenziali di database, values Helm interni, chiavi API nei file di configurazione e qualsiasi altra configurazione di infrastruttura sensibile. Puoi verificarlo aprendo la scheda Rete del browser — vedrai zero richieste attivate dall'incollaggio del YAML.
Esiste un limite di dimensione per l'input YAML?
Non c'è un limite rigido, ma gli input grandi (oltre 200 KB) passano automaticamente dalla conversione in tempo reale alla modalità manuale. In modalità manuale, compare un pulsante Converti e la conversione viene eseguita solo quando lo clicchi — questo evita che il thread principale del browser si blocchi a ogni battitura. Per file YAML molto grandi (multi-megabyte), considera strumenti da riga di comando come yq per prestazioni migliori. Lo strumento gestisce in modo efficiente i payload reali tipici come export di namespace Kubernetes completi, grandi specifiche OpenAPI e file di values Helm multi-servizio.

Strumenti correlati

Vedi tutti gli strumenti →