2026-09-29 · 5 min de lectura
JSON vs YAML vs XML: sintaxi, usos i com convertir entre ells
JSON, YAML i XML poden descriure les mateixes dades, però cadascun destaca en un lloc diferent. Compara'n la sintaxi costat per costat, descobreix on s'usa cadascun i evita els errors típics en convertir.
JSON, YAML i XML són formats de text net per a dades estructurades. Si els dones la mateixa informació, tots tres la descriuen fidelment, però a la pràctica cadascun s'ha quedat amb el seu territori: JSON a les API, YAML als fitxers de configuració i XML en documents i sistemes empresarials. Entendre per què t'ajuda a triar bé i a no endur-te sorpreses quan converteixes.
Les mateixes dades en tres formats
Aquí tens la definició d'un petit servei escrita de tres maneres. Primer, en JSON:
{
"service": "web",
"port": 8080,
"debug": false,
"tags": ["api", "public"]
}
El mateix en YAML:
# web service
service: web
port: 8080
debug: false
tags:
- api
- public
I en XML:
<?xml version="1.0" encoding="UTF-8"?>
<service name="web">
<port>8080</port>
<debug>false</debug>
<tags>
<tag>api</tag>
<tag>public</tag>
</tags>
</service>
Hi ha diferències que es veuen de seguida:
- JSON fa servir claus, claudàtors i cometes. És estricte: no admet comentaris ni comes finals, i les claus sempre van entre cometes dobles.
- YAML es basa en el sagnat en lloc dels claudàtors i permet comentaris amb
#. És el més compacte i el més fàcil de llegir d'un cop d'ull. - XML embolcalla cada valor amb etiquetes d'obertura i tancament i pot afegir atributs als elements (
name="web"). És el més verbós, però també el més expressiu.
JSON: la llengua de les API
JSON encaixa directament amb els objectes i les matrius de gairebé qualsevol llenguatge de programació, i per això es va convertir en el format per defecte de les API web. Els analitzadors són ràpids, vénen integrats als navegadors i a les biblioteques estàndard, i la gramàtica és tan petita que hi ha molt poques maneres de malinterpretar un document.
La seva rigidesa és un avantatge per a les màquines i una petita molèstia per a les persones. No pots deixar un comentari que expliqui un paràmetre, i una sola coma que falti trenca tot el fitxer. Per això JSON funciona millor quan l'escriu un programa i el llegeix un altre: respostes d'API, registres, exportacions de dades, package.json.
YAML: configuració escrita per persones
YAML es va dissenyar perquè l'escriguin i el revisin persones. Per això tantes eines DevOps l'han triat: els manifestos de Kubernetes, els fluxos de GitHub Actions i els fitxers de Docker Compose són YAML. Els comentaris, les cadenes multilínia i l'absència de signes de puntuació fan que els fitxers de configuració llargs siguin agradables de mantenir.
El preu és la subtilesa. El sagnat té significat, així que un espai mal posat canvia l'estructura. I YAML dedueix els tipus dels valors sense cometes, cosa que provoca els seus paranys més famosos:
country: NO # YAML 1.1: false
version: 1.10 # 1.1 (number)
zip: 01234 # 1234 or octal
Amb les regles de YAML 1.1, que molts analitzadors encara fan servir, NO, yes, on i off esdevenen booleans. Els números perden els zeros finals i els zeros a l'esquerra es poden llegir com a octal. La solució és senzilla: posa entre cometes tot el que hagi de continuar sent text.
country: "NO"
version: "1.10"
zip: "01234"
XML: documents, esquemes i fonts empresarials
XML és més antic que els altres dos i porta funcions que ells no tenen: espais de noms per barrejar vocabularis, esquemes (XSD) per validar l'estructura amb rigor, atributs i contingut mixt on s'intercalen text i etiquetes. Això el fa ideal per a documents i per a sistemes on importa un contracte formal: fonts RSS i Atom, serveis SOAP, estàndards de facturació i banca, imatges SVG, el pom.xml de Maven i els fitxers que hi ha dins d'un DOCX o un XLSX.
Si comences una cosa nova i només necessites intercanviar dades, XML poques vegades és la primera opció. Però el continuaràs rebent de socis, sistemes heretats i fonts de dades públiques, així que saber passar-lo a JSON és una habilitat molt pràctica.
Comparació ràpida
- Llegibilitat: YAML > JSON > XML.
- Rigor i previsibilitat: JSON i XML no són ambigus; YAML depèn del sagnat i de la deducció de tipus.
- Comentaris: YAML i XML sí, JSON no.
- Validació: XML té les eines d'esquemes més madures; JSON Schema està molt estès; YAML també se sol validar amb JSON Schema.
- Hàbitat típic: JSON per a API i dades, YAML per a configuració, XML per a documents i integració empresarial.
Convertir entre ells: què cal vigilar
Com que tots tres descriuen arbres de dades, convertir sol ser senzill. Tot i així, convé conèixer alguns detalls:
- De YAML a JSON es perden els comentaris. JSON no té on guardar-los. Les àncores i els àlies (
&i*) s'expandeixen en còpies normals. - De JSON a YAML no es perd res. Tot JSON vàlid es pot expressar en YAML; a YAML 1.2, JSON és gairebé un subconjunt de YAML.
- Els atributs XML necessiten una convenció. JSON no té atributs, així que els convertidors els desen com a claus normals, sovint amb un prefix com
@. Revisa el resultat abans de passar-lo a un altre programa. - Un element davant d'una llista. En XML, una
<tag>i tres<tag>s'escriuen igual. En passar a JSON, una pot quedar com a objecte i les altres com a matriu, així que el codi que faci servir el resultat ha d'acceptar tots dos casos. - En XML tot és text.
8080ifalsenomés són caràcters dins d'etiquetes; en passar d'XML a JSON potser hauràs de tornar-los a convertir en número o booleà. - De JSON a XML cal una única arrel i claus que siguin noms d'element vàlids (sense espais i sense començar per un dígit).
Converteix al teu navegador
Els convertidors de dades de Azpy funcionen íntegrament al teu navegador: enganxa el text o deixa anar un fitxer i el resultat apareix a l'instant sense pujar res. Així els pots fer servir tranquil·lament amb fitxers de configuració que contenen noms de servidors interns o respostes d'API amb dades de clients. Trobaràs JSON a YAML, YAML a JSON, XML a JSON i JSON a XML entre les eines.
Una regla ràpida
Màquines que parlen amb màquines → JSON. Persones que editen configuració → YAML, amb cometes en tot el que sigui ambigu. Documents, esquemes estrictes o un contracte empresarial existent → XML. I quan el format que tens no és el que necessites, converteix-lo i revisa els casos límit d'aquí dalt.
Eines relacionades
Articles relacionats
Converteix un PDF escanejat en text cercable amb OCR, al teu navegador i sense pujar el fitxer. Passos, consells de precisió i què cal revisar.
Converteix fotos JPG, PNG o HEIC de l'iPhone en un sol PDF. Mida de pàgina, orientació, qualitat davant de pes, consells d'escaneig i com comprimir-lo.