YAML vs JSON: welke kiest u, en waarom

YAML vs JSON

YAML vs JSON: verschillen, valkuilen en .yaml vs .yml | We.Inc

YAML vs JSON naast elkaar: syntax, comments, types, tekst over meerdere regels en de yes/no-valkuil. Test hoe een kale waarde wordt gelezen, en beslis .yaml vs .yml voorgoed.

JSON is een strikt dataformaat voor programma's: accolades, blokhaken, strings tussen dubbele aanhalingstekens en geen comments. YAML drukt dezelfde data uit met inspringing, staat comments en tekst over meerdere regels toe, en versie 1.2 is ontworpen als superset van JSON. Kies JSON voor API's en machine-output, YAML voor bestanden die mensen met de hand bewerken.

YAML en JSON per kenmerk vergeleken

Beide formaten beschrijven dezelfde dingen: maps, lijsten, strings, getallen, booleans en null. De echte verschillen zijn wie het bestand leest en hoe vergevingsgezind de parser is. Probeer de waardechecker hieronder om te zien hoe een waarde zonder aanhalingstekens een type krijgt, en lees dan de voorbeelden naast elkaar en de valkuilen voor wie tussen de twee wisselt.

Veelgestelde vragen

Is elk JSON-bestand geldige YAML?

YAML 1.2 is zo geschreven dat het een strikte superset van JSON is, dus in de praktijk laadt een JSON-document in een YAML 1.2-parser. Er bestaan randgevallen, zoals dubbele keys, die JSON-parsers vaak toestaan maar YAML verbiedt.

Moet ik .yaml of .yml gebruiken?

Gebruik .yaml. RFC 9512, dat het mediatype application/yaml registreert, noemt .yaml de voorkeursextensie en merkt op dat .yml nog steeds wordt gebruikt. Beide werken in tools zoals GitHub Actions, dus de keuze gaat om consistentie binnen één project.

Waarom werd mijn YAML-waarde true of false?

YAML 1.1 behandelde woorden als yes, no, on, off, y en n als booleans. Het core schema van YAML 1.2 accepteert alleen true en false in drie schrijfwijzen, maar oudere parsers komen nog veel voor. Aanhalingstekens rond de waarde nemen de twijfel weg.

Kan JSON comments bevatten?

Nee. RFC 8259 somt de tokens op die JSON mag bevatten, en comments horen daar niet bij. Sommige tools accepteren een soepelere JSON met comments, maar een strikte parser weigert het bestand.

Welke is sneller te parsen?

De grammatica van JSON is veel kleiner, en browsers leveren er een native parser voor mee, dus het is meestal de snellere en veiligere keuze voor data die over het netwerk gaat. YAML-parsers moeten veel meer regels toepassen, van inspringing tot impliciete typering.

Wanneer JSON de betere keuze is

Wanneer YAML de betere keuze is

Eén record, op beide manieren geschreven

Dezelfde site-instellingen in beide formaten. YAML laat de aanhalingstekens en accolades weg en voegt een comment toe; JSON schrijft elke string en elk nestingniveau voluit.

Inspringing van twee spaties, een comment, een lijst en een versiestring tussen aanhalingstekens zodat hij tekst blijft.

Een comment is niet mogelijk, en elke key en string heeft dubbele aanhalingstekens.

Waarden die van type veranderen als u aanhalingstekens vergeet

Hoe een YAML-waarde zonder aanhalingstekens een type krijgt, en de veilige versie

Hoe wordt deze kale waarde gelezen?

Typ een waarde zoals die na een dubbele punt in een YAML-bestand zou staan, zonder aanhalingstekens. De checker past de regels van het core schema van YAML 1.2 toe, de booleanlijst van YAML 1.1 en de grammatica van JSON.

Waarde zonder aanhalingstekens

Core schema van YAML 1.2

YAML 1.1-parsers

JSON, zoals geschreven

Dezelfde waarde in JSON

boolean {v} (YAML 1.1 leest dit woord als boolean)

Geen yes/no-booleanvalkuil voor deze waarde

Geldige JSON-waarde

Geen geldige JSON zonder aanhalingstekens

JSON kan dit getal niet schrijven

Probeer er een

Gratis beginnen · Geen creditcard nodig

Gerelateerd: Gidsen

Product

Voor wie

Functies

Bronnen

Bedrijf

Sitemap