UltKit

YAML naar JSON converteren

Zet YAML-configuratie, OpenAPI-specificaties en CI-bestanden om naar JSON dat elke parser, API of schemavalidator kan lezen. Upload .yaml- of .yml-bestanden en download ingesprongen JSON.

Dataconverter

of sleep CSV, TSV, TXT …-bestanden hierheen ·

Max. 95 MB per bestand· Tot 20 bestanden· Verwijderd na 30 minuten

Uitvoer

Bestanden worden op onze servers verwerkt en na 30 minuten verwijderd.

Zo gebruikt u deze tool

  1. 1

    Upload YAML-bestanden

    Voeg .yaml- of .yml-bestanden toe, maximaal 20 tegelijk en elk tot 95 MB. De oorspronkelijke namen blijven behouden; de JSON-bestanden krijgen dezelfde naam met een nieuwe extensie.

  2. 2

    Kies ingesprongen of compact

    Leesbaar opmaken staat aan, waardoor de JSON wordt ingesprongen voor leesbaarheid en code review. Zet de optie uit onder Geavanceerde instellingen voor een bestand van één regel dat u in een request body kunt plakken.

  3. 3

    Converteer en gebruik

    Klik op Converteren naar JSON, download het bestand en geef het door aan de API, de validator of het script dat het nodig had.

Waarom ontwikkelaars YAML naar JSON omzetten

YAML is geschreven voor mensen: inspringing in plaats van accolades, opmerkingen en geen aanhalingstekens rond de meeste strings. Daarom is het het formaat van Kubernetes-manifests, GitHub Actions-workflows, Docker Compose-bestanden en OpenAPI-specificaties die teams met de hand bewerken. JSON is geschreven voor programma's. Elke taal heeft een JSON-parser in de standaardbibliotheek, browsers lezen het standaard in en de meeste HTTP-API's accepteren niets anders.

De conversie vindt dus plaats op de grens. Een platform engineer stuurt een manifest door jq, dat alleen JSON leest. Een backendontwikkelaar stuurt een OpenAPI-specificatie naar een codegenerator die JSON wil. Een tester laadt testdata in YAML in een JavaScript-testsuite. In elk geval blijft de YAML de bron van waarheid en is de JSON een buildartefact. Gaat het om een hele map met feeds of exports in plaats van configs, dan verwerkt XML naar JSON het oudere opmaakformaat op dezelfde manier.

Hoe YAML en JSON samen zijn gegroeid

YAML voor het eerst voorgesteld door Clark Evans
2001
YAML 1.2 maakte JSON een subset van YAML
2009
RFC 8259, de huidige JSON-standaard
2017
YAML 1.2.2-revisie gepubliceerd
2021

Wat er in de JSON gebeurt met functies die alleen YAML kent

Met een anker (&defaults) en de bijbehorende aliassen (*defaults) hergebruikt YAML een blok. JSON kent geen verwijzingen, dus elke alias wordt vervangen door een volledige kopie van het verankerde blok.

  • De JSON kan merkbaar langer zijn dan de YAML
  • Merge keys (<<: *defaults) worden op dezelfde manier uitgewerkt
Een kleine YAML-config als leesbaar opgemaakte JSON
{
  "service": "billing",
  "replicas": 3,
  "ports": [8080, 9090],
  "env": {
    "LOG_LEVEL": "info",
    "REGION": "NO"
  }
}

Feiten over de formaten YAML en JSON

YAML

YAML

YAML ("YAML Ain't Markup Language") is een voor mensen prettig gegevensformaat dat voor het eerst in 2001 verscheen. Het gebruikt inspringing in plaats van haakjes, ondersteunt opmerkingen en is een superset van JSON. Het wordt veel gebruikt voor configuratie in Docker Compose, Kubernetes, GitHub Actions en veel toepassingen. Door de afhankelijkheid van witruimte is het met één verkeerde spatie stuk te maken, en sommige waarden, zoals "no" of datums, kunnen onverwacht worden geïnterpreteerd.

Compressie
–
Transparantie
–
Animatie
–
Geïntroduceerd
2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
YAML-converter

JSON

JavaScript Object Notation

JSON is een lichtgewicht tekstformaat voor gestructureerde gegevens, begin jaren 2000 gepopulariseerd door Douglas Crockford en gestandaardiseerd als RFC 8259 en ECMA-404. Het weergeeft objecten, arrays, tekenreeksen, getallen, booleans en null met eenvoudige, leesbare syntaxis. Het is het standaardformaat voor web-API's, configuratiebestanden en gegevensuitwisseling tussen apps in vrijwel elke programmeertaal. Het heeft geen ingebouwde opmerkingen, datums of schema's, en grote geneste bestanden zijn zonder viewer moeilijk te lezen.

Compressie
–
Transparantie
–
Animatie
–
Geïntroduceerd
2001 · Douglas Crockford
JSON-converter

Mensen zetten YAML om naar JSON wanneer een voor mensen geschreven config of specificatie een machine moet voeden: een API-aanroep, een schemavalidator of een tool zonder YAML-parser.

Veelgestelde vragen over YAML naar JSON converteren

Waarom YAML naar JSON converteren als ze dezelfde gegevens bevatten?

Omdat veel tools maar één van de twee kunnen lezen. JSON-parsers zitten in elke programmeertaal en elke browser, terwijl YAML een extra bibliotheek vraagt. Request bodies van REST-API's, JSON Schema-validators, jq en bestanden zoals package.json of het manifest.json van een browserextensie verwachten allemaal JSON.

Wat gebeurt er met mijn YAML-opmerkingen?

Die gaan verloren. RFC 8259 kent geen opmerkingensyntaxis voor JSON, dus regels die met # beginnen kunnen nergens naartoe. Bewaar het YAML-bestand als gedocumenteerde bron en beschouw de JSON als een gegenereerde kopie die u op elk moment opnieuw kunt maken.

Waarom werd NO of off omgezet naar false?

Parsers die YAML 1.1 volgen lezen yes, no, on en off als booleans, waardoor een landcode als NO voor Noorwegen false kan worden. YAML 1.2 beperkt booleans tot true en false, maar niet elke tool volgt dat. Zet zulke waarden in de YAML tussen aanhalingstekens, zoals "NO", dan blijven ze strings in de JSON.

Kan ik een CloudFormation-sjabloon in YAML converteren?

AWS CloudFormation accepteert beide formaten, maar de korte tags zoals !Ref en !GetAtt bestaan alleen in YAML. JSON-templates schrijven ze als volledige functies, {"Ref": "MyBucket"} of {"Fn::GetAtt": [...]}. Schrijf korte tags om naar de lange vorm voordat u converteert, zodat het JSON-template geldig blijft.

Hoe zet ik JSON terug om naar YAML?

Gebruik JSON naar YAML. Dat is de gebruikelijke richting wanneer een API-respons of een gegenereerd bestand een leesbaar configuratiebestand in een repository moet worden.