TOON-in-Properties-Konverter
Konvertieren Sie Daten sofort beim Tippen aus TOON in Properties, direkt im Browser.
Eingabe
Ausgabe
Readme
Was sind diese Datenformate?
Programme speichern strukturierte Daten wie Einstellungen, Datensätze und Listen in Textformaten, die jeweils eine eigene Schreibweise haben. Ein Konverter ist nützlich, wenn ein Programm Daten in einem Format ausgibt, das ein anderes Programm nicht lesen kann, oder wenn sich ein Format für die jeweilige Aufgabe leichter lesen oder bearbeiten lässt.
| Format | Darstellung der Daten | Typische Verwendung |
|---|---|---|
| JSON | Objekte in geschweiften Klammern, Listen in eckigen Klammern, Text in doppelten Anführungszeichen | Web-APIs und App-Einstellungen |
| YAML | Eingerückte Zeilen im Format key: value, Listeneinträge beginnen mit - |
Docker Compose, Kubernetes und CI-Pipeline-Dateien |
| XML | Elemente in Tags, die Attribute enthalten können | Dokumente, RSS-Feeds und SOAP-Webdienste |
| TOML | Zeilen im Format key = value unter [table]-Überschriften |
Konfigurationsdateien wie Cargo.toml und pyproject.toml |
| TOON | Eingerückte Zeilen, mit Listen von Datensätzen als Zeilen unter ihren Feldern | Strukturierte Daten, die an KI-Sprachmodelle gesendet werden |
| CSV | Eine Kopfzeile, danach eine Zeile pro Datensatz; Werte sind durch Kommas getrennt | Tabellen und Datenbankexporte |
| TSV | Wie CSV, aber mit Tabulatoren zwischen den Werten | Aus einer Tabelle kopierte Zellen |
| MessagePack | Binärdaten, auf dem Tab „Text“ als hexadezimale Bytes dargestellt | Kompakte Nachrichten zwischen Programmen |
| JSON5 | JSON, das auch Kommentare, einfache Anführungszeichen und Schlüssel ohne Anführungszeichen erlaubt | Von Hand bearbeitete Konfigurationsdateien |
| JSONL | Ein JSON-Wert pro Zeile, auch JSON Lines oder NDJSON genannt | Protokolle und Datensätze |
| INI | Zeilen im Format key = value unter [section]-Überschriften |
Programmeinstellungen, zum Beispiel in php.ini |
| Properties | Zeilen im Format key = value mit durch Punkte getrennten Schlüsseln |
Java-Apps, zum Beispiel Dateien wie Spring Boots application.properties |
Beschreibung des Tools
Dieses Tool konvertiert Daten zwischen diesen 12 Formaten: JSON, YAML, XML, TOML, TOON, CSV, TSV, MessagePack, JSON5, JSONL, INI und Java-Properties. Alle Datenformatkonverter hier funktionieren auf die gleiche Weise – vom allgemeinen Datenformatkonverter bis hin zu Konvertern für einzelne Formatpaare wie JSON zu YAML, CSV zu JSON oder XML zu JSON: Beim Öffnen sind die Formate ausgewählt, die im Namen des Tools stehen. Über die Menüs „Quelle“ und „Ziel“ kannst du beliebige andere Formate auswählen.
Die Konverter nehmen Daten als Text an, den du einfügst oder eingibst, oder als Dateien, und geben Text oder Dateien aus. Welche Variante du nutzt, wählst du mit den Tabs „Datei“ und „Text“ oben auf der Quellseite und auf der Zielseite. Auf beiden Seiten ist anfangs „Text“ ausgewählt.
- Text als Eingabe: Füge deine Daten ein oder gib sie ein. Sie werden während der Eingabe konvertiert.
- Datei als Eingabe: Wähle eine oder mehrere Dateien aus oder ziehe sie hinein. Die Schaltfläche „Dateien durchsuchen“ zeigt nur Dateien im Quellformat an, hineingezogene Dateien können aber in jedem der 12 Formate vorliegen. Jede wird aus dem Format konvertiert, das ihre Dateiendung angibt, sodass eine .yaml-Datei auch im Konverter JSON zu XML als YAML konvertiert wird. Eine hineingezogene Datei mit einer anderen Endung, etwa .txt, wird aus dem Quellformat konvertiert. Auch Dateien in UTF-16 oder in einer älteren Kodierung wie Windows-1252 werden gelesen.
- Text als Ausgabe: Das Ergebnis erscheint in einem Code-Editor mit Syntaxhervorhebung und kann direkt kopiert werden. Wenn mehrere Dateien konvertiert werden, wählst du im Menü „Datei“ darüber aus, welche Datei angezeigt wird.
- Datei als Ausgabe: Die konvertierten Dateien erscheinen in einem Raster, jede mit einer eigenen Schaltfläche „Herunterladen“, und behalten ihren Dateinamen mit der neuen Endung. Die Schaltfläche „Alle herunterladen“ speichert alle konvertierten Dateien in einer ZIP-Datei oder eine einzelne konvertierte Datei so, wie sie ist. Eingefügte Daten ergeben eine Datei namens converted, etwa converted.yaml. Die konvertierten Dateien sind UTF-8-Text, außer MessagePack-Dateien, die binär sind.
Mit der Schaltfläche zum Vertauschen wird die Konvertierungsrichtung umgekehrt: Das Zielformat wird zur Quelle, die beiden Seiten tauschen ihre Tabs, und das Ergebnis wird zur neuen Eingabe.
Ist die Eingabe im Quellformat ungültig, erklärt die Fehlermeldung, was nicht stimmt, üblicherweise mit Zeilen- und Spaltenangabe des Problems. Bei Dateien nennt die Fehlermeldung die Dateien, bei denen die Konvertierung fehlgeschlagen ist, und der Tab „Text“ auf der Zielseite zeigt die Details zu der Datei, die er gerade anzeigt.
Deine Daten werden im Browser konvertiert und niemals hochgeladen.
Beispiel
Dieses JSON:
{
"users": [
{ "id": 1, "name": "Ann", "admin": true },
{ "id": 2, "name": "Bo", "admin": false }
]
}wird zu diesem YAML:
users:
- id: 1
name: Ann
admin: true
- id: 2
name: Bo
admin: falsezu diesem CSV mit einer Zeile pro Nutzer:
id,name,admin
1,Ann,true
2,Bo,falseund zu diesem TOON:
users[2]{id,name,admin}:
1,Ann,true
2,Bo,falseWie die Formate ineinander umgewandelt werden
Nicht alle Formate können dieselben Datentypen speichern. Daher gelten bei manchen Konvertierungen die folgenden Regeln:
- CSV und TSV speichern Tabellen. Die erste Zeile enthält die Spaltennamen, jede weitere Zeile wird zu einem Objekt. Verschachtelte Objekte werden zu Spalten, deren Namen den jeweiligen Pfad angeben, und Listen werden als JSON-Text in ihrer Zelle gespeichert. So wird
{"name": "Ann", "address": {"city": "Oslo"}, "tags": ["a", "b"]}zu den Spaltenname,address.cityundtags. Bei der Rückkonvertierung werden daraus wieder verschachtelte Objekte und Listen. Wenn die Daten ein Objekt mit einer einzelnen Liste sind, etwa{"users": [...]}, entsprechen die Zeilen den Elementen dieser Liste. Eine Liste aus Listen wird zu Zeilen ohne Kopfzeile. - Textwerte: CSV, TSV, XML, INI und Properties speichern nur Text. Daher wandeln die Konverter
trueundfalsein die booleschen Werte true und false um und schreiben einfache Zahlen wie42oder3.5als Zahlen. Werte wie007,1.50oder1e3bleiben Text, damit Postleitzahlen und Versionsnummern unverändert erhalten bleiben. - XML-Attribute werden zu Schlüsseln, die mit
@beginnen. Der Text eines Elements mit Attributen wird zu#text:<price currency="USD">44.95</price>wird zu{"@currency": "USD", "#text": 44.95}. Wiederholte Elemente werden zu einer Liste. Bei der Konvertierung nach XML werden Schlüssel, die mit@beginnen, wieder zu Attributen. Ein Objekt mit einem einzelnen Schlüssel, dessen Wert keine Liste ist, wird zum Wurzelelement. Andere Daten kommen in ein<root>-Element; jedes Element einer Liste auf der obersten Ebene wird in ein<item>-Element eingefügt. Zeichen, die in XML-Namen nicht erlaubt sind, etwa Leerzeichen, werden zu_. - TOML, INI und Properties können auf der obersten Ebene nur benannte Werte speichern. Daher werden Listendaten unter dem Namen
itemsund ein einzelner Wert untervaluegeschrieben. TOML kennt keinen Nullwert, daher werden Nullwerte ausgelassen. - INI schreibt verschachtelte Objekte als Abschnitte, etwa
[server.ssl], Wertelisten als Zeilen im Formatkey[] = valueund Objektlisten als Abschnitte, die nach ihrer Position benannt sind, etwa[users.0]. - Properties-Schlüssel verbinden verschachtelte Namen mit Punkten und nummerieren Listenelemente in eckigen Klammern, etwa
app.hosts[0], wie es Spring Boot macht. Bei der Konvertierung nach YAML oder JSON werden diese Schlüssel zu verschachtelten Objekten und Listen. Eineapplication.properties-Datei wird daher in die Struktur einerapplication.yml-Datei umgewandelt. Zeichen außerhalb von Latin-1 werden als\u-Escape-Sequenzen geschrieben. - YAML-Ergebnisse setzen Text in Anführungszeichen, den YAML-1.1-Parser andernfalls als etwas anderes interpretieren würden, etwa
on,yesoder ein Datum. So erhalten YAML-1.1- und YAML-1.2-Parser dieselben Daten. Eine YAML-Datei mit mehreren durch---getrennten Dokumenten wird zu einer Liste dieser Dokumente, und<<-Merge-Schlüssel werden aufgelöst. - MessagePack ist ein Binärformat. Als Text lesen und schreiben die Tools es als hexadezimale Bytes:
{"a": 1}wird zu81 A1 61 01, und die Eingabe darf Leerzeichen, Kommas und0xvor jedem Byte enthalten. MessagePack-Dateien, die auf dem Tab „Datei“ ausgewählt oder gespeichert werden, enthalten die Bytes selbst, daher ist eine konvertierte .msgpack-Datei binär. Mehrere aufeinanderfolgende Nachrichten werden zu einer Liste. - JSONL-Ergebnisse enthalten jedes Listenelement in einer eigenen Zeile.
- Ganze Zahlen, die für JavaScript-Zahlen zu groß sind, etwa 64-Bit-IDs, behalten alle ihre Ziffern.
- TOML-Datums- und Zeitangaben sowie MessagePack-Zeitstempel werden in Text umgewandelt, etwa
1979-05-27T07:32:00Z.
Tipps
- Um Zellen aus einer Tabelle zu konvertieren, kopiere sie und füge sie als TSV ein: Tabellenprogramme kopieren Zellen als tabulatorgetrennten Text.
- CSV und TSV eignen sich für Daten, die aus einer Liste ähnlicher Datensätze bestehen. Tief verschachtelte Daten lassen sich in YAML, TOML oder TOON besser lesen.
- Kommentare in YAML-, XML-, TOML-, JSON5-, INI- und Properties-Dateien bleiben nicht erhalten, da die Konverter nur die Daten übernehmen.