YAML-formaterer

Formaterer, validerer og konverterer YAML-dokumenter med syntaksfremheving og feildeteksjon

Kjører lokalt

YAML-inndata

Formatert utdata

Inspektør

Lim inn gyldig YAML — struktur, tre og nøkkelstier vises her automatisk

Avanserte alternativer

Sammenlign med en annen YAML

Send dette dokumentet til Data Diff og lim inn en annen versjon for å se hva som er endret.

Validering med nøyaktig feilposisjon

Validering kjører ved hvert tastetrykk med js-yaml 1.2-parseren. Gyldige dokumenter får live telling av dokumenter, mappings, sekvenser, nøkler og dybde. Ødelagte dokumenter rapporterer nøyaktig linje og kolonne, en trolig årsak og en utheving ved feilposisjonen — ikke bare "syntax error".

Vanlige YAML-feil dette verktøyet peker nøyaktig på

Disse feilene står for mesteparten av ugyldig YAML. Hver av dem oppdages med en posisjon og en trolig årsak:

Feil innrykk

En underordnet linje med mindre innrykk enn forelderen, eller søskenlinjer som ikke stiller opp likt. Rapporteres vanligvis som "bad indentation of a mapping entry" på nøyaktig linje.

TAB-tegn

YAML forbyr tabulatorer i innrykk. Parseren rapporterer "found a tab character that violates indentation" og uthever den problematiske linjen.

Duplisert nøkkel

Samme nøkkel to ganger i én mapping. js-yaml rapporterer "duplicated mapping key" med linjen til den andre forekomsten.

Manglende kolon eller mellomrom

En nøkkel uten verdi ("key key2") eller et kolon festet til nøkkelen ("key:value" er en ren streng, ikke et par). Rapporteres som "could not find expected ':'".

Før / Etter

Minifisert Kubernetes-manifest til venstre, samme dokument formatert med 2-mellomroms innrykk til høyre. Struktur, tre og stier oppdateres fra det parsede dokumentet.

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

YAML hurtigreferanse (YAML 1.2)

  • Innrykk er struktur: kun mellomrom — TAB-tegn er aldri tillatt til innrykk.
  • Et kolon må etterfølges av et mellomrom for å være nøkkelseparator: "key: value", ikke "key:value".
  • Skalarer tolkes til typer etter core-skjemaet: true/false (boolske verdier), heltall, flyttall, null (~ / null / tom). Merk at "yes"/"no" er rene strenger i 1.2.
  • Flere dokumenter i én fil skilles med en "---"-linje; "..." avslutter et dokument.
  • Ankre (&base) og aliaser (*base) holder filene DRY; flettenøkler ("<<: *base") arver mappings.

Neste steg med disse dataene

Formatering er første steg. Fortsett arbeidsflyten uten å forlate nettleseren:

Vanlige spørsmal

Vanlige spørsmal om Yaml Formatter-formatering besvart

Formateringsverktøyet følger YAML 1.2-spesifikasjonen, noe som sikrer kompatibilitet med moderne verktøy som Kubernetes, Docker Compose, GitHub Actions og andre cloud-native-plattformer.

Ja, den toveis konverteringsfunksjonen lar deg konvertere YAML til JSON og JSON til YAML, samtidig som datatyper, nestede strukturer og der det er aktuelt kommentarer, bevares.

Absolutt. Formatteren er designet for å håndtere Kubernetes-manifests, Docker Compose-filer, CI/CD-pipelines og andre YAML-filer med flere dokumenter, med riktig skille mellom seksjonene.

Validatoren sjekker konsistent innrykk, korrekt bruk av kolon og bindestreker, balansen i siterte strenger og anker- og aliasreferanser, og gir linjespesifikke feilmeldinger for rask feilsøking.

Ja, formatteren håndterer YAML-ankere (&), aliaser (*) og merge-nøkler (<<) korrekt, og bevarer disse DRY-egenskapene mens den formaterer strukturen rundt.

YAML 1.2, den gjeldende spesifikasjonen fra yaml.org - versjonen som Kubernetes-, docker-compose- og GitHub Actions-dokumenter retter seg mot. YAML 1.2 gjorde JSON til en gyldig delmengde og strammet inn den boolske parsingen; formatteren holder anførselstegnene eksplisitte der 1.1-parsere (fortsatt vanlige i Python PyYAML) ville feiltolke verdier som "no" eller "0777".

YAML-ankere, aliaser og blokk-skalarer tar kommentarer med seg uendret, men en kommentar knyttet til en nøkkel som får nytt innrykk, flytter seg med sitt innrykksnivå. Formatteren sletter aldri kommentarer - den flytter dem minimalt slik at de forblir knyttet til noden de dokumenterer.

Den flagger det: uansette verdier som NO, no, ON, on, yes og n settes automatisk i anførselstegn under formatering, slik at YAML 1.1-parsere ikke kan tolke dem som boolske verdier. Landkodelisten [NO, SE, DK] forblir tre strenger. YAML 1.2 behandler bare true/false som boolske verdier, men anførselstegn er den eneste utdataen som er trygg under begge versjoner.

{-- * 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 --}}

Relaterte verktoy