YAML-formatter

Formatteer, valideer en converteer YAML-documenten met syntaxisaccentuering en foutdetectie

Draait lokaal

YAML-invoer

Geformatteerde Uitvoer

Inspecteur

Plak geldige YAML — structuur, boom en sleutelpaden verschijnen hier automatisch

Geavanceerde Opties

Vergelijk met een andere YAML

Stuur dit document naar Data Diff en plak een tweede versie om te zien wat er is gewijzigd.

Validatie met de exacte foutpositie

De validatie wordt bij elke toetsaanslag uitgevoerd met de js-yaml 1.2-parser. Geldige documenten krijgen live tellingen van documenten, mappings, sequences, sleutels en diepte. Ongeldige documenten tonen de exacte regel en kolom, een mogelijke oorzaak en een markering op de foutieve positie — in plaats van alleen "syntax error".

Veelvoorkomende YAML-fouten die deze tool exact aanwijst

Deze fouten veroorzaken het merendeel van alle ongeldige YAML. Elk ervan wordt gedetecteerd met een positie en een mogelijke oorzaak:

Verkeerde inspringing

Een onderliggende regel die minder is ingesprongen dan zijn bovenliggende, of regels op hetzelfde niveau die niet uitgelijnd zijn. Wordt meestal gemeld als "bad indentation of a mapping entry" op de exacte regel.

TAB-teken

YAML staat geen tabs toe in de inspringing. De parser meldt "found a tab character that violates indentation" en markeert de foutieve regel.

Dubbele sleutel

Dezelfde sleutel tweemaal in één mapping. js-yaml meldt "duplicated mapping key" met de regel van het tweede voorkomen.

Ontbrekende dubbele punt of spatie

Een sleutel zonder waarde ("key key2") of een dubbele punt die aan de sleutel vastzit ("key:value" is een gewone tekenreeks, geen paar). Gemeld als "could not find expected ':'".

Voor / Na

Links een geminifieerd Kubernetes-manifest, rechts hetzelfde document opgemaakt met een inspringing van 2 spaties. Structuur, boom en paden worden bijgewerkt vanuit het geparseerde document.

Before (flow style)
{apiVersion: apps/v1, kind: Deployment, metadata: {name: web-app}, spec: {replicas: 3, template: {metadata: {labels: {app: web}}}}}
After (block style)
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-app
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: web

Korte YAML-naslag (YAML 1.2)

  • Inspringing is structuur: alleen spaties — TAB-tekens zijn voor inspringing nooit toegestaan.
  • Een dubbele punt moet worden gevolgd door een spatie om een scheiding tussen sleutel en waarde te zijn: "key: value", niet "key:value".
  • Scalars worden volgens het core-schema naar typen omgezet: true/false (booleans), integers, floats, null (~ / null / leeg). Let op: "yes"/"no" zijn in 1.2 gewone tekenreeksen.
  • Meerdere documenten in één bestand worden gescheiden door een regel "---"; "..." sluit een document af.
  • Anchors (&base) en aliases (*base) houden bestanden DRY; merge keys ("<<: *base") nemen mappings over.

Volgende stappen met deze data

Formatteren is de eerste stap. Ga verder met de workflow zonder je browser te verlaten:

Veelgestelde Vragen

Veelvoorkomende vragen over Yaml Formatter-opmaak beantwoord

De formatter volgt de YAML 1.2-specificatie, wat compatibiliteit garandeert met moderne tools zoals Kubernetes, Docker Compose, GitHub Actions en andere cloud-native platforms.

Ja, met de bidirectionele conversiefunctie kun je YAML naar JSON en JSON naar YAML converteren, waarbij gegevenstypen, geneste structuren en waar toepasselijk opmerkingen behouden blijven.

Zeker. De formatter is ontworpen om Kubernetes-manifests, Docker Compose-bestanden, CI/CD-pipelines en andere YAML-bestanden met meerdere documenten te verwerken, met correcte scheiding van secties.

De validator controleert de consistentie van de inspringing, het juiste gebruik van dubbele punten en streepjes, de balans van aanhalingstekens rond strings en verwijzingen naar anchors en aliases, en toont regelspecifieke foutmeldingen voor snel debuggen.

Ja, de formatter verwerkt YAML-anchors (&), aliases (*) en merge keys (<<) correct en behoudt deze DRY-functies tijdens het formatteren van de omliggende structuur.

YAML 1.2, de huidige specificatie van yaml.org - de versie waar Kubernetes-, docker-compose- en GitHub Actions-documenten op zijn gericht. YAML 1.2 maakte JSON tot een geldige subset en maakte het parsen van booleans strenger; de formatter houdt het aanhalingstekengebruik expliciet waar 1.1-parsers (nog steeds gangbaar in Python PyYAML) waarden zoals "no" of "0777" verkeerd zouden interpreteren.

YAML-anchors, aliases en block scalars geven opmerkingen ongewijzigd door, maar een opmerking die aan een sleutel hangt waarvan de inspringing verandert, schuift mee met het inspringingsniveau. De formatter verwijdert nooit opmerkingen - hij verplaatst ze minimaal zodat ze verbonden blijven met de node die ze documenteren.

Het wordt gemarkeerd: kale waarden zoals NO, no, ON, on, yes en n worden tijdens het formatteren automatisch tussen aanhalingstekens geplaatst, zodat YAML 1.1-parsers ze niet naar booleans kunnen omzetten. De landcodelijst [NO, SE, DK] blijft drie strings. YAML 1.2 beschouwt uitsluitend true/false als booleans, maar quoting is de enige uitvoer die onder beide versies veilig is.

{-- * External Resources Component(#19 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / 官方语言文档 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}

Gerelateerde Tools