Entwicklerwerkzeuge
JSON ↔ YAML-Konverter
JSON lokal in YAML oder YAML in JSON konvertieren, mit verschachtelten Listen, Zeichenfolgen und exakten Zahlen.
Deine Ergebnisse
JSON und YAML mit den beabsichtigten Datentypen umwandeln
Wandeln Sie JSON-kompatible Daten zwischen strenger JSON- und YAML-1.2-Core-Syntax um. Der Konverter erhält JSON-Zahlentokens einschließlich großer Ganzzahlen, statt sie zuerst über JavaScript-Zahlen zu runden. Er wandelt Datenwerte um, nicht die Formatierung des Quelldokuments oder das Konfigurationsschema einer Anwendung. YAML-Kommentare, Anker und Darstellungsentscheidungen bleiben bei einer JSON-Umwandlung nicht erhalten.
Schritt für Schritt
- Fügen Sie Text ein oder öffnen Sie eine lokale UTF-8-Datei im Format JSON, YAML, YML oder TXT. Wählen Sie JSON → YAML oder YAML → JSON ausdrücklich; beim Öffnen einer Datei wird die Richtung nicht erkannt.
- Wählen Sie zwei oder vier Leerzeichen und sortieren Sie bei Bedarf Objektschlüssel. Verarbeiten Sie die Eingabe und beheben Sie etwaige Syntaxfehler oder nicht unterstützte Funktionen. Die Sortierung ist rekursiv und lexikografisch mit Unterscheidung von Groß- und Kleinschreibung; die Array-Reihenfolge bleibt unverändert.
- Prüfen Sie Zeichenketten, boolesche Werte, Nullwerte und Zahlen und kopieren, drucken oder laden Sie dann converted.yaml oder converted.json herunter. Verarbeiten Sie nach Änderungen an Eingabe oder Optionen erneut, da die alte Ausgabe gelöscht wird. Prüfen Sie die umgewandelte Datei mit der Anwendung, die sie verwenden wird.
Einstellungen und Grenzen
- Typen und Dokumentregeln
- Verwenden Sie ein YAML-1.2-Dokument mit eindeutigen Zeichenkettenschlüsseln und JSON-kompatiblen Werten. Setzen Sie zahlenähnliche Kennungen wie "00123" in Anführungszeichen; YAML 00123 ohne Anführungszeichen wird zur Zahl 123. Unquotierte yes, on und ISO-Datumstexte bleiben nach den Core-Regeln Zeichenketten.
- Aliase und nicht unterstützte Funktionen
- Zyklenfreie Aliase werden zu wiederholten Werten aufgelöst. Zyklen, doppelte Schlüssel, Nicht-Zeichenkettenschlüssel, nicht unterstützte Tags und nichtendliche Zahlen werden abgewiesen. YAML-Zusammenführungsschlüssel werden nicht angewendet: <<: *base wird zu einer gewöhnlichen Eigenschaft "<<"; lösen Sie daher beabsichtigte geerbte Felder vorher ausdrücklich auf.
- Größe und Komplexität
- Die Eingabe ist auf 2 MiB UTF-8-Text begrenzt: 2,097,152 Bytes. Die Ausgabe ist auf 8 MiB begrenzt. Die Verarbeitung stoppt außerdem bei mehr als 128 Verschachtelungsebenen, 200,000 Wertknoten oder 100 Aliasbesuchen; auch eine kleine Datei kann diese Grenzen überschreiten.
Durchgerechnetes Beispiel
Laden Sie types-example.json herunter und wählen Sie JSON → YAML mit zwei Leerzeichen Einzug und deaktivierter Sortierung. Wandeln Sie die Datei um und vergleichen Sie types-example.yaml. Die in Anführungszeichen stehenden id und word bleiben Zeichenketten, enabled bleibt false, und retries und large bleiben Zahlen.
Beispieldateien herunterladen
Beispieleingabe
{"id":"00123","word":"yes","enabled":false,"retries":3,"large":9007199254740993}Erwartetes Ergebnis
"id": "00123"
"word": "yes"
"enabled": false
"retries": 3
"large": 9007199254740993Öffnen Sie nun types-example.yaml, wechseln Sie ausdrücklich zu YAML → JSON und verarbeiten Sie erneut. id sollte weiterhin "00123" und die große Ganzzahl weiterhin 9007199254740993 sein. Entfernen Sie im YAML die Anführungszeichen um 00123 und wiederholen Sie den Vorgang: Der Wert wird zur Zahl 123. Dieser Unterschied ist für Kennungen relevant, auch wenn beide Dateien gültig sind.
Fragen und Fehlerbehebung
Warum scheitert JSON mit doppelten Schlüsseln hier, lässt sich aber anderswo formatieren?
JSON-Formatierer kann vor doppelten Schlüsseln warnen und sie erhalten. Dieser Konverter weist sie ab, weil eine Umwandlung in eine Zuordnung ihre Bedeutung ändern könnte. Entscheiden Sie, welcher Wert in die Quelle gehört, und entfernen Sie das Duplikat vor der Umwandlung.
Bleiben Kommentare und YAML-Vererbung erhalten?
JSON hat keine Kommentare oder Anker. Aliase werden aufgelöst und Zusammenführungsschlüssel wörtlich exportiert, statt als Vererbung angewendet zu werden. Lösen Sie die beabsichtigten Daten auf und prüfen Sie das Ergebnis; die Umwandlung schreibt nicht jede YAML-Funktion originalgetreu um.
Sind große Zahlen in der Zielanwendung sicher?
Der Konverter erhält unterstützte Zahlenschreibweisen und große Ganzzahlwerte, aber ein späteres Programm kann sie mit geringerer Genauigkeit einlesen. Verwenden Sie eine Zeichenkette in Anführungszeichen, wenn ein zahlenähnlicher Wert eine Kennung ist, und testen Sie den Parser der Zielanwendung.