Utvecklarverktyg

JSON ↔ YAML-konverterare

Konvertera JSON till YAML eller YAML till JSON lokalt, med nästlade listor, strängar och exakta tal.

Dina värden

Konvertering av YAML 1.2-data. Kommentarer och formatering bevaras inte. Indatagräns: 2 MiB.

Dina resultat

Konvertera JSON och YAML med avsedda datatyper

Konvertera JSON-kompatibla data mellan strikt JSON och YAML 1.2-kärnsyntax. Konverteraren bevarar JSON-talens skrivsätt, inklusive stora heltal, i stället för att först avrunda dem genom JavaScript-tal. Den konverterar datavärden, inte källdokumentets formatering eller en applikations konfigurationsschema. YAML-kommentarer, ankare och presentationsval bevaras inte vid konvertering till JSON.

Steg för steg

  1. Klistra in text eller öppna en lokal JSON-, YAML-, YML- eller TXT-fil i UTF-8. Välj uttryckligen JSON → YAML eller YAML → JSON; att öppna en fil identifierar inte riktningen.
  2. Välj två eller fyra blanksteg och sortera eventuellt objektnycklar. Bearbeta indata och åtgärda eventuella syntaxfel eller fel för funktioner som inte stöds. Sorteringen är rekursiv och använder skiftlägeskänslig lexikal ordning; ordningen i arrayer är oförändrad.
  3. Granska strängar, booleska värden, nullvärden och tal, och kopiera, skriv ut eller ladda sedan ned converted.yaml eller converted.json. Om du ändrar indata eller alternativ, bearbeta igen eftersom de gamla utdata rensas. Validera den konverterade filen med applikationen som ska använda den.

Inställningar och begränsningar

Typer och dokumentregler
Använd ett YAML 1.2-dokument med unika strängnycklar och JSON-kompatibla värden. Sätt citattecken runt identifierare som ser numeriska ut, till exempel "00123"; YAML-värdet 00123 utan citattecken blir talet 123. Vanliga yes, on och datumtext i ISO-format förblir strängar enligt kärnreglerna.
Alias och funktioner som inte stöds
Alias utan cykler expanderas till upprepade värden. Cykler, dubblerade nycklar, nycklar som inte är strängar, taggar som inte stöds och icke-ändliga tal avvisas. YAML-sammanfogningsnycklar tillämpas inte: <<: *base blir en vanlig "<<"-egenskap, så expandera avsedda ärvda fält först.
Storlek och komplexitet
Indata är begränsade till 2 MiB UTF-8-text: 2,097,152 byte. Utdata är begränsade till 8 MiB. Bearbetningen stannar också över 128 nästlingsnivåer, 200,000 värdenoder eller 100 aliasbesök; en liten fil kan fortfarande överskrida de gränserna.

Genomgånget exempel

Ladda ned types-example.json och välj JSON → YAML med indrag på två blanksteg och sortering av. Konvertera den och jämför types-example.yaml. id och word inom citattecken förblir strängar, enabled förblir false och retries och large förblir tal.

Ladda ned exempelfilerna

Exempel på indata

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

Förväntat resultat

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

Öppna nu types-example.yaml, växla uttryckligen till YAML → JSON och bearbeta igen. id bör fortfarande vara "00123" och det stora heltalet bör fortfarande vara 9007199254740993. Ta bort citattecknen runt 00123 i YAML och upprepa: värdet blir numeriskt 123. Den skillnaden spelar roll för identifierare även när båda filerna är giltiga.

Frågor och felsökning

Varför misslyckas JSON med dubblerade nycklar här men formateras på andra ställen?

JSON-formateraren kan varna för och behålla dubblerade nycklar. Den här konverteraren avvisar dem eftersom konvertering till en nyckel-värde-struktur kan ändra deras betydelse. Bestäm vilket värde som hör hemma i källan och ta bort dubbletten före konvertering.

Bevaras kommentarer och YAML-arv?

JSON har inga kommentarer eller ankare. Alias expanderas och sammanfogningsnycklar exporteras bokstavligt i stället för att tillämpas som arv. Expandera avsedda data och granska resultatet; konvertering är inte en trogen omskrivning av alla YAML-funktioner.

Är stora tal säkra i mottagarapplikationen?

Konverteraren bevarar stödda numeriska skrivsätt och stora heltalsvärden, men ett senare program kan läsa dem med lägre precision. Använd en citerad sträng när ett värde som ser numeriskt ut är en identifierare och testa mottagarapplikationens parser.