Udviklerværktøjer

JSON ↔ YAML-konvertering

Konvertér JSON til YAML eller YAML til JSON lokalt med indlejrede lister, tekst og præcise tal.

Dine værdier

Konvertering af YAML 1.2-data. Kommentarer og formatering bevares ikke. Inputgrænse: 2 MiB.

Dine resultater

Konvertér JSON og YAML med de tilsigtede datatyper

Konvertér JSON-kompatible data mellem streng JSON og YAML 1.2-kernesyntaks. Konverteren bevarer JSON-tallenes skrivemåde, inklusive store heltal, frem for først at afrunde dem via JavaScript-tal. Den konverterer dataværdier, ikke kildedokumentets formatering eller et programs konfigurationsskema. YAML-kommentarer, ankre og præsentationsvalg bevares ikke ved konvertering til JSON.

Trin for trin

  1. Indsæt tekst, eller åbn en lokal JSON-, YAML-, YML- eller TXT-fil i UTF-8. Vælg udtrykkeligt JSON → YAML eller YAML → JSON; åbning af en fil registrerer ikke retningen.
  2. Vælg to eller fire mellemrum, og sortér eventuelt objektnøgler. Behandl inputtet, og løs eventuelle syntaksfejl eller fejl ved ikke understøttede funktioner. Sorteringen er rekursiv og bruger leksikalsk rækkefølge med skelnen mellem store og små bogstaver; arrayrækkefølgen forbliver uændret.
  3. Kontrollér strenge, booleske værdier, nullværdier og tal, og kopiér, udskriv eller download derefter converted.yaml eller converted.json. Hvis du ændrer input eller indstillinger, skal du behandle igen, fordi det gamle output ryddes. Validér den konverterede fil med det program, der skal bruge den.

Indstillinger og begrænsninger

Typer og dokumentregler
Brug ét YAML 1.2-dokument med unikke strengnøgler og JSON-kompatible værdier. Sæt anførselstegn omkring identifikatorer, der ligner tal, såsom "00123"; YAML-værdien 00123 uden anførselstegn bliver tallet 123. Almindeligt yes, on og datotekst i ISO-format forbliver strenge efter kernereglerne.
Aliasser og ikke understøttede funktioner
Aliasser uden cyklusser udvides til gentagne værdier. Cyklusser, dublerede nøgler, nøgler uden strengtype, ikke understøttede tags og ikke-endelige tal afvises. YAML-flettenøgler anvendes ikke: <<: *base bliver en almindelig "<<"-egenskab, så udvid de tilsigtede nedarvede felter først.
Størrelse og kompleksitet
Input er begrænset til 2 MiB UTF-8-tekst: 2,097,152 byte. Output er begrænset til 8 MiB. Behandlingen stopper også over 128 indlejringsniveauer, 200,000 værdiknuder eller 100 aliasbesøg; en lille fil kan stadig overskride de grænser.

Gennemgået eksempel

Download types-example.json, og vælg JSON → YAML med indrykning på to mellemrum og sortering slået fra. Konvertér den, og sammenlign types-example.yaml. id og word i anførselstegn forbliver strenge, enabled forbliver false, og retries og large forbliver tal.

Download eksempelfilerne

Eksempel på input

{"id":"00123","word":"yes","enabled":false,"retries":3,"large":9007199254740993}

Forventet resultat

"id": "00123"
"word": "yes"
"enabled": false
"retries": 3
"large": 9007199254740993

Åbn nu types-example.yaml, skift udtrykkeligt til YAML → JSON, og behandl igen. id bør stadig være "00123", og det store heltal bør stadig være 9007199254740993. Fjern anførselstegnene omkring 00123 i YAML, og gentag: værdien bliver numerisk 123. Den forskel er vigtig for identifikatorer, selv når begge filer er gyldige.

Spørgsmål og fejlfinding

Hvorfor fejler JSON med dublerede nøgler her, men formateres andre steder?

JSON-formatereren kan advare om og bevare dublerede nøgler. Denne konverter afviser dem, fordi konvertering til en nøgle-værdi-struktur kan ændre deres betydning. Beslut, hvilken værdi der hører til i kilden, og fjern dubletten før konvertering.

Bevares kommentarer og YAML-nedarvning?

JSON har ingen kommentarer eller ankre. Aliasser udvides, og flettenøgler eksporteres bogstaveligt i stedet for at anvendes som nedarvning. Udvid de tilsigtede data, og kontrollér resultatet; konvertering er ikke en tro gengivelse af alle YAML-funktioner.

Er store tal sikre i modtagerprogrammet?

Konverteren bevarer understøttede numeriske skrivemåder og store heltalsværdier, men et senere program kan indlæse dem med lavere præcision. Brug en streng i anførselstegn, når en værdi, der ligner et tal, er en identifikator, og test modtagerprogrammets fortolker.