Utvecklarverktyg
JSON ↔ YAML-konverterare
Konvertera JSON till YAML eller YAML till JSON lokalt, med nästlade listor, strängar och exakta tal.
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
- 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.
- 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.
- 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.