Sådan bruger du det
- Indsæt YAML i inputfeltet, eller prøv eksemplet.
- Vælg 2 eller 4 mellemrum som indrykning.
- Kopier JSON eller download det som en .json-fil.
Sådan fungerer det
YAML analyseres med open source-biblioteket yaml ved hjælp af YAML 1.2-kerneskemaet, som moderne værktøjer forventer: yes, no, on og off forbliver strenge, og kun true og false er booleske værdier. Ankre (&name) og aliaser (*name) udfoldes, og <<-flettenøgler anvendes; antallet af aliasudfoldelser er begrænset, så bevidst eksploderende dokumenter afvises i stedet for at få siden til at fryse.
En fil med flere dokumenter adskilt af --- bliver til et JSON-array med ét element pr. dokument. Kommentarer, ankre og tags har ingen JSON-ækvivalent og fjernes; nøgler bevarer deres rækkefølge. Tidsstempler forbliver strenge. Heltal med mere end ca. 15 cifre mister præcision, som ved enhver JSON håndteret i JavaScript.
Hvis YAML-indholdet er ugyldigt, vises den første fejl med linje og kolonne, f.eks. brug af tabulator til indrykning eller en manglende lukkende parentes. Til den modsatte retning skal du bruge JSON til YAML eller den tovejs JSON ⇄ YAML-konverter.
Eksempler
CI-fil med ankre
En jobliste, der genbruger en defaults-blok med <<: *defaults, bliver til JSON, hvor standardindstillingerne kopieres ind i hvert job, så du kan se præcis, hvad hvert job får.
Kubernetes-fil med flere dokumenter
En fil med en Deployment og en Service adskilt af --- bliver til et JSON-array med to objekter, klar til kubectl eller jq.
Ofte stillede spørgsmål
Hvorfor forbliver yes en streng?
YAML 1.2, som bruges her og af de fleste aktuelle værktøjer, behandler kun true og false som booleske værdier. Ældre YAML 1.1-parsere konverterede yes, no, on og off til booleske værdier, hvilket forårsagede mange fejl.
Hvad sker der med kommentarer?
JSON har ingen kommentarer, så de fjernes. Selve dataene ændres ikke.
Er der en størrelsesgrænse?
Kun i din browsers hukommelse. Store filer konverteres efter en kort pause, mens du skriver, så siden forbliver responsiv.
Privatliv
Konverteringen kører udelukkende i din browser. Din YAML og JSON uploades eller gemmes ikke.