YAML a Convertidor JSON
Conversió ràpida i segura de YAML a JSON. Perfecte per a fitxers de configuració i anàlisi de dades.
Conversió ràpida i segura de YAML a JSON. Perfecte per a fitxers de configuració i anàlisi de dades.
YAML i JSON són formats estretament relacionats (JSON és tècnicament un subconjunt estricte de YAML 1.2) i la conversió entre ells sol ser senzilla. YAML afegeix funcions amigables amb les persones que no tenen a JSON: comentaris, cadenes de diverses línies sense escapar, referències d'àlies i àlies, cites més flexibles i una estructura basada en sagnats que s'assembla al disseny natural del document. Això fa que YAML sigui l'opció popular per als fitxers de configuració (manifests de Kubernetes, fluxos de treball de GitHub Actions, Docker Compose) mentre que JSON domina les càrregues útils de l'API.
Convertir YAML a JSON sol significa renunciar als extres humans de YAML a canvi d'un format que les màquines analitzen més fàcilment i que sigui la llengua franca de les API HTTP. Els comentaris s'eliminen (JSON no en té cap). Les referències d'ancoratge es resolen en els seus valors de referència. Les cadenes de diverses línies es redueixen a les cadenes JSON estàndard amb noves línies incrustades.
Aquest convertidor analitza YAML mitjançant js-yaml, la biblioteca YAML més utilitzada en JavaScript. La sortida es genera mitjançant JSON.stringify amb sagnat opcional. La conversió gestiona tota la sintaxi estàndard de YAML 1.2, inclòs l'estil de flux, l'estil de bloc, els escalars, les seqüències, els mapes, les àncores, els àlies i els tipus d'etiquetes estàndard.
La majoria de les API i molts entorns de programació esperen JSON. Els fitxers de configuració escrits en YAML s'han de convertir a JSON quan s'integren amb codi o serveis que només acceptin JSON. Les eines per a JSON també són més abundants: jq, JSON Path, JSON Schema i un ampli ecosistema de validadors i transformadors assumeixen l'entrada JSON.
JSON també és inequívoc de la manera que YAML no ho és. La flexibilitat de YAML crea sorpreses d'anàlisi: cadenes com l'anàlisi "no" com a fals booleà a YAML 1.1, cadenes de versió analitzades com a flotants, errors de sagnat que produeixen canvis estructurals silenciosos. La conversió a JSON congela les dades en una forma menys ambigua.
Enganxeu YAML i obteniu JSON.
js-yaml implementa YAML 1.2 amb suport opcional per a les peculiaritats de YAML 1.1 (el problema "no" com a fals, números octals sense prefix 0o). L'analitzador produeix un arbre d'objectes JavaScript utilitzant tipus natius: números, cadenes, booleans, null, matrius i objectes simples.
JSON.stringify serialitza l'arbre d'objectes a JSON. El sagnat opcional produeix una sortida molt impresa; sense ell, el resultat és un JSON compacte d'una sola línia. Els valors especials (NaN, Infinity, undefined) no són JSON vàlids; el convertidor els coacciona a nuls quan estiguin presents.
Casos extrems: les marques de temps YAML es converteixen en cadenes ISO-8601 en JSON. Les dades binàries YAML (codificades en base64) es converteixen en una cadena. Les àncores i els àlies es resolen en valors duplicats a JSON, ja que JSON no té una sintaxi de referència.