Hoppa till huvudinnehåll
LibraTool logoLibraTool

Gratis YAML till JSON-konverterare

Konvertera YAML till JSON och JSON till YAML i båda riktningarna. Klistra in i valfritt format och få den konverterade utdatan direkt — ingen serveruppladdning krävs.

Fungerar offline när den väl lästs in
JSON-utdata
Utdata visas här…

Vanliga användningar

  • Konvertera YAML till JSON för Kubernetes-manifestKonvertera Kubernetes YAML till JSON (eller tillbaka) för verktyg, valideringsskript eller tillämpa via API direkt.
  • Docker Compose YAML / JSON-konverteringKonvertera docker-compose.yml till JSON för inspektion eller tillbaka till YAML efter programmatiska ändringar.
  • Konvertering av CI/CD-pipelinekonfigurationKonvertera GitHub Actions, GitLab CI, CircleCI och andra pipelinekonfigurationer mellan YAML- och JSON-format.
  • Konvertering av programkonfigurationsfilKonvertera appkonfigfiler mellan YAML och JSON — användbar vid byte av ramverk eller delning av configs över verktyg.
  • OpenAPI / Swagger-specifikation KonverteringKonvertera OpenAPI 3.x eller Swagger 2.0 API-specifikationer mellan YAML och JSON. Båda formaten är giltiga och utbytbara.

Så här fungerar det

Båda riktningarna av omvandling — YAML till JSON och JSON till YAML — körs helt i din webbläsare med en handskriven tolk och skapare inbyggd i sidan, utan tredjeparts-YAML-bibliotek och utan server inblandad. Logiken finns i en enda TypeScript-modul (lib/yamljson.ts) som hanterar mappningar, sekvenser, skalarer, citerade strängar och borttagning av inline-kommentarer.

  1. 1
    Indata förbehandlas rad för rad
    För YAML-indata delar tolken upp texten i rader, tar bort inline-kommentarer (håller reda på citattillstånd för att undvika att ta bort # inuti strängar), mäter indenteringsdjup, och kastar tomma rader — och bygger en strukturerad tokenlista innan någon tolkning börjar.
  2. 2
    En rekursiv nedstigningstolk bygger dataträdet
    Tolken går igenom tokenlistan med hjälp av indenteringsnivå för att bestämma strukturen. Den känner igen sekvensobjekt (- värde), mappningsnycklar (nyckel: värde), och nästlade block. Skalarer går genom ett typat omvandlingssteg som hanterar null, booleaner, heltal (avvisar värden med inledande nolla som 007 för att undvika tyst datakorruption), och flyttal — med ett valfritt läge som behåller YAML 1.1-nyckelord som yes, no, on och off som strängar istället för att omvandla dem till booleaner.
  3. 3
    YAML-funktioner som inte stöds flaggas, tas inte tyst bort
    Innan utdata skapas skannar verktyget efter ankare (&namn), alias (*namn), sammanslagningsnycklar (<<:), blockskalarer (| och >), flerdokumentmarkörer (---), och duplicerade mappningsnycklar. Alla dessa utlöser en synlig varning istället för att skapa subtilt felaktig JSON.
  4. 4
    JSON serialiseras eller YAML skapas, och görs sedan tillgänglig
    För YAML→JSON skickas det tolkade värdet till JSON.stringify med din valda indentering (2 mellanslag, 4 mellanslag, tabb, eller minifierad). För JSON→YAML går en anpassad skapare igenom det tolkade JavaScript-värdet och skapar indenterad YAML, och citerar strängskalarer bara när det behövs (t.ex. värden som innehåller :, # eller ser ut som reserverade ord). Utdata visas direkt medan du skriver och kan kopieras eller laddas ned.

Relaterade verktyg

Vanliga frågor