Wandeln Sie YAML in JSON und JSON in YAML um — mit der genauen Zeile und Spalte jedes Syntaxfehlers.
YAML und JSON beschreiben dasselbe — Zuordnungen, Listen, Zeichenketten, Zahlen, Wahrheitswerte und null — mit gegensätzlichen Prioritäten. JSON verwendet geschweifte Klammern und Anführungszeichen, was Maschinen mögen und Menschen vertippen. YAML verwendet Einrückung und fast keine Sonderzeichen, was Menschen mögen, bis ein verirrtes Leerzeichen die Struktur des Dokuments verändert. Zwischen beiden umzuwandeln, ist Alltagsarbeit: ein Kubernetes-Manifest oder einen GitHub-Actions-Workflow als JSON lesen, damit ein Skript damit arbeiten kann, oder eine API-Antwort für eine Konfigurationsdatei wieder in YAML verwandeln. Dieses Tool geht in beide Richtungen und erkennt, was Sie eingefügt haben.
Die Umwandlung ist die leichte Hälfte; die Mühe steckt darin, was passiert, wenn das YAML fehlerhaft ist. Ein Syntaxfehler wird als Zeile und Spalte gemeldet, gezählt so, wie ein Editor zählt, mit einem Ausschnitt der umliegenden Zeilen und einem ^ unter genau dem Zeichen, das den Parser gestoppt hat. Die Position ist nicht immer dort, wo Sie sie erwarten. Ein Tabulator in der Einrückung wird am Tabulator selbst zurückgewiesen, und der Ausschnitt stellt ihn als Pfeil dar, damit Sie sehen können, was man sonst nicht sieht. Ein nicht geschlossenes Anführungszeichen wird am Dateiende gemeldet, nicht am öffnenden Anführungszeichen — denn dort ist dem Parser auf der Suche nach dem schließenden der Text ausgegangen. Ein doppelter Schlüssel wird an seinem zweiten Vorkommen gemeldet, und er ist hier ein Fehler, keine Warnung. JSON-Fehler werden genauso behandelt: Browser formulieren sie unterschiedlich und manche melden nur einen Zeichen-Offset, deshalb werden Zeile und Spalte hier berechnet und fallen überall gleich aus.
YAML kann Dinge ausdrücken, die JSON nicht kann, und jedes davon wird benannt, statt Ihre Daten stillschweigend zu verändern. Anker und Aliasse werden aufgelöst, ein Alias wird also zu einer vollständigen Kopie des verankerten Werts — und Sie werden darauf hingewiesen. Merge Keys nicht: Der Parser arbeitet mit dem JSON-Schema, das sie nicht auflöst, deshalb bleibt eine <<-Zeile als wörtlicher Schlüssel erhalten, mit dem Hinweis, diese Felder von Hand zusammenzuführen. Eine Datei mit mehreren, durch --- getrennten Dokumenten wird zu einem JSON-Array, ein Element pro Dokument. Die Werte .inf und .nan kommen als null heraus, und sehr große Ganzzahlen verlieren ihre letzten Stellen; auf beides wird hingewiesen. Dieses Schema ist auch eine Sicherheitsentscheidung: Tags wie !!js/function werden als unbekannt zurückgewiesen statt instanziiert. Und nichts davon geht auf Reisen — alles läuft auf Ihrem Gerät.
Nein. Der Text wird von JavaScript auf Ihrem eigenen Gerät geparst und umgewandelt — nichts wird irgendwohin gesendet, gespeichert oder protokolliert. Das zählt hier: Ein Kubernetes-Manifest enthält Hostnamen, Ports, Bucket-Namen und Service-Accounts.
Sie geben an, wo der Parser aufgegeben hat, ab 1 gezählt wie in Ihrem Editor, mit dem ^ unter diesem Zeichen. Ein Fall überrascht immer wieder: Ein nicht geschlossenes Anführungszeichen wird am Dateiende gemeldet — suchen Sie also zurück nach dem letzten Anführungszeichen, das Sie geöffnet haben.
Ja. Jeder Alias wird im JSON zu einer vollständigen Kopie des verankerten Werts, und das Tool weist darauf hin. Merge Keys sind die Ausnahme: Sie werden nicht aufgelöst, das << bleibt als wörtlicher Schlüssel erhalten, und Sie erhalten einen ausdrücklichen Hinweis statt eines stillschweigend falschen Ergebnisses.
Ja. JSON kennt keine mehreren Dokumente in einer Datei, deshalb wird jedes YAML-Dokument der Reihe nach zu einem Element eines JSON-Arrays, und ein Hinweis nennt die gefundene Anzahl.
Weil YAML 1.2 nur true und false als Wahrheitswerte behandelt; yes, no, on und off bleiben Zeichenketten. Ältere 1.1-Parser haben sie umgewandelt — dieselbe Regel, die aus dem Ländercode NO ein false macht. Setzen Sie einen Wert in Anführungszeichen, wenn er Text bleiben muss.
Vai.la verwandelt jede URL in einen Kurzlink mit Klick-Statistiken, QR-Code und Ihrem eigenen Biolink.
Vai.la übernimmt keine Verantwortung für die Nutzung der Tools oder für Entscheidungen, die auf ihren Ergebnissen basieren.