Overzicht / Ontwikkelaars en code / YAML ↔ JSON-converter
Ontwikkelaars en code 100% in de browser en offline

YAML ↔ JSON-converter

Zet YAML om naar JSON en JSON naar YAML in je browser. Verwerkt meerdere documenten, ankers en aliassen en toont fouten met regel en kolom.

Plak of typ je invoer; het resultaat verschijnt direct en fouten staan onder het invoerveld. De velden bevatten een voorbeeld: klik op een veld en typ om het te vervangen.

Je bestanden en invoer verlaten je browser nooit – er wordt niets geüpload.

Opties

Leest YAML 1.2. yes, no, on en off blijven strings, datums blijven strings, octale getallen hebben 0o nodig. Opmerkingen gaan verloren. Documenten gescheiden door --- worden een JSON-array. Gehele getallen boven 2^53 verliezen precisie, .nan en .inf worden null. Maximale invoer: 2.000.000 tekens.

Een Kubernetes-manifest links, een JSON-schemavalidator die alleen JSON accepteert rechts. Een YAML-naar-JSON-converter dicht die kloof. Plak de YAML, lees de JSON, kopieer. Dezelfde pagina zet JSON om naar YAML als je een leesbaar configuratiebestand uit een API-antwoord nodig hebt.

Wat de omzetting van YAML naar JSON met je bestand doet

De tool leest YAML 1.2. In die versie zijn yes, no, on en off gewone strings, geen booleans. Een datum als 2001-12-14 blijft een string. Een octaal getal heeft het voorvoegsel 0o nodig, dus 0o17 is 15 en 017 is 17.

Ankers (&name), aliassen (*name) en samenvoegsleutels (<<: *name) worden opgelost, dus de JSON bevat de gekopieerde waarden. Opmerkingen bestaan niet in JSON en worden weggelaten.

Een bestand met meerdere documenten gescheiden door --- wordt een JSON-array met één item per document. De statistiekenregel zegt hoeveel er zijn gevonden, bijvoorbeeld "3 documenten". Een bestand met één document blijft een gewoon object of een gewone lijst. Lege documenten aan het eind worden genegeerd.

Een configuratie omzetten in vier stappen

  1. Kies de richting met de knoppen "YAML → JSON" of "JSON → YAML". Het vak toont voor elke richting een voorbeeld tot je je eigen tekst typt.
  2. Plak je tekst. De omzetting begint 300 milliseconden na je laatste toetsaanslag. De eerste keer wordt de YAML-bibliotheek geladen, dus dat kan even duren.
  3. Stel de opties in: JSON-inspringing van 2 spaties, 4 spaties of geminimaliseerd, en "Sleutels alfabetisch sorteren". Voor YAML-uitvoer kun je ook de inspringing kiezen en lange regels bij 80 tekens afbreken of helemaal niet.
  4. Druk op "Kopiëren" of "Downloaden". De download heet converted.json of converted.yaml.

Strings die op getallen, booleans of null lijken

JSON naar YAML heeft één valkuil: de string "123" mag niet het getal 123 worden. De tool schrijft haar met aanhalingstekens. Hetzelfde geldt voor "null", "true", "~" en een lege string. Hij zet ook "yes", "no", "on", "off" en alles wat als een datum begint tussen aanhalingstekens, omdat YAML 1.1-parsers ze als booleans of tijdstempels lezen. Strings met regeleinden worden blokscalars met |.

Fouten, waarschuwingen en waarden die JSON niet kan bevatten

Een kapot YAML-bestand stopt met de melding van de bibliotheek en de regel en kolom, bijvoorbeeld een tab als inspringing. Twee gelijke sleutels in één map zijn een fout, geen stille overschrijving. Een alias zonder anker erboven is ook een fout. Een onbekende tag als !custom is slechts een opmerking en de waarde blijft als tekst behouden.

YAML staat .nan, .inf en -.inf toe. JSON niet. De tool schrijft er null voor en meldt hoeveel hij heeft vervangen. Gehele getallen boven 2^53 (ongeveer 9 biljard) worden afgerond op het dichtstbijzijnde getal dat JavaScript kan opslaan, met een opmerking. Dezelfde afronding gebeurt als je JSON met zulke getallen plakt. Als een JSON-tekst een sleutel herhaalt, wint de laatste waarde.

Invoer boven 2.000.000 tekens wordt met een melding geweigerd.

Wat je machine verlaat

Er wordt niets geüpload. De YAML-bibliotheek is een script van deze site dat je browser één keer laadt, de eerste keer dat je omzet. Daarna draaien parsen en schrijven in je browsertabblad. "Kopiëren" gebruikt het klembord, "Downloaden" slaat een bestand op vanuit de browser. Je kunt het netwerkpaneel in de gaten houden terwijl je omzet: er is geen verzoek met je tekst.

Veelgestelde vragen (FAQ)

De tool leest YAML 1.2, waarin alleen true en false booleans zijn. YAML 1.1-parsers lezen yes, no, on en off als booleans, dus oude tools kunnen van dit resultaat afwijken.