Spickzettel im TOON-Format

TOON
Entwicklungstools

Wenn Sie jemals das Gefühl hatten, dass JSON zu ausführlich ist (all diese Klammern!), YAML jedoch etwas zu „magisch“ und unvorhersehbar, werden Sie sich vielleicht in TOON verlieben. Dieses Format schafft ein einzigartiges Gleichgewicht zwischen menschlicher Lesbarkeit und maschineller Analysegeschwindigkeit. Es ist so konzipiert, dass es dicht, explizit und unglaublich schnell zu analysieren ist.

Unabhängig davon, ob Sie Daten migrieren oder einfach nur versuchen, eine Konfigurationsdatei zu debuggen, deckt dieser Spickzettel die grundlegende Syntax ab, die Sie kennen müssen.

Die Philosophie: Weniger Lärm, mehr Daten

Das Erste, was Ihnen auffallen wird, ist, dass TOON YAML sehr ähnelt, sich aber streng wie JSON verhält. Die öffnenden und schließenden Klammern werden zugunsten von Einrückungen und Zeilenumbrüchen überflüssig, sodass Ihre Daten sofort sauberer aussehen.

Objekte und Verschachtelung

In JSON ist man es gewohnt, alles in geschweifte Klammern zu setzen. In TOON wird die Struktur durch Einrückung impliziert.

JSON:

„md { „Projekt“: { „Metadaten“: { „name“: „Alpha-Centauri“, „Status“: „aktiv“ }, „Meilensteine“: [ { „Phase“: „Design“, „Priorität“: 1 }, { „Phase“: „Testen“, „Priorität“: 2 } ] } } „

TOON:

„md Projekt: Metadaten: Name: Alpha-Centauri Status: aktiv Meilensteine[2]{Phase,Priorität}: Entwurf,1 Prüfung,2 „

Beachten Sie, dass für Schlüssel keine Anführungszeichen erforderlich sind, es sei denn, sie enthalten Sonderzeichen, und die Hierarchie ist visuell offensichtlich.

Die Kraft von Arrays

Hier unterscheidet sich TOON wirklich von anderen Formaten. TOON erfordert, dass Sie die Länge des Arrays im Schlüssel selbst angeben. Das mag auf den ersten Blick seltsam erscheinen, aber es ermöglicht dem Parser, Speicher vorab zuzuweisen, was ihn unglaublich schnell macht.

Primitive Arrays

Für einfache Listen mit Zeichenfolgen oder Zahlen verwendet TOON eine kompakte, durch Kommas getrennte Syntax.

Die Syntax:

„md Schlüssel[Länge]:item1,item2,item3 „

Wenn Sie ein Root-Array haben (die gesamte Datei ist nur eine Liste), sieht es so aus:

Tabellarische Arrays (Das Killer-Feature)

Dies ist die Funktion, die Entwickler normalerweise überzeugt. Wenn Sie ein Array von Objekten haben, die alle dieselben Schlüssel haben (wie Zeilen in einer Datenbank), können Sie mit TOON das Schema einmal im Header definieren und dann einfach die Werte auflisten. Dadurch werden große Mengen an Redundanz in JSON beseitigt.

Die Syntax:

„md Schlüssel[Zeilen]{col1,col2}: „

JSON:

„md { „Inventar“: [ { „sku“: „KB-99“, „Menge“: 50, "Gang": 4, „neu anordnen“: falsch }, { „sku“: „MS-12“, „Menge“: 12, "Gang": 7, „neu anordnen“: wahr }, { „sku“: „MN-44“, „Menge“: 8, "Gang": 2, „neu anordnen“: wahr } ] } „

TOON:

„md Inventar[3]{SKU, Menge, Gang, Nachbestellung}: KB-99,50,4,false MS-12,12,7,wahr MN-44,8,2,wahr „

Dieser „CSV-inside-YAML“-Ansatz macht große Datensätze unglaublich lesbar und kompakt.

Gemischte und verschachtelte Arrays

Manchmal sind Daten nicht einheitlich. Wenn Ihr Array unterschiedliche Datentypen enthält (mit Objekten gemischte Zahlen) oder wenn es komplexe verschachtelte Objekte enthält, greift TOON auf eine Syntax im Aufzählungspunktstil mit Bindestrichen zurück.

Sie können sogar Arrays innerhalb von Arrays haben. Beachten Sie, wie das innere Array auch seine Länge deklariert:

Zitat: Wann man es verwendet

Das Schöne an TOON ist, dass man selten Zitate braucht. Sie können „Hallo 世界 👋“ schreiben, ohne es in „““ einzuschließen. Da TOON jedoch versucht, auf Typen (Zahlen, boolesche Werte) zu schließen, gibt es bestimmte Regeln dafür, wann Sie Anführungszeichen verwenden müssen.

Die „Must-Quote“-Liste

Sie müssen Ihre Zeichenfolge in doppelte Anführungszeichen „"“ einschließen, wenn:

  1. Es sieht aus wie eine Zahl oder ein boolescher Wert: Wenn Sie die Zeichenfolge „123“ oder „true“ möchten, zitieren Sie sie. Andernfalls werden sie zur Zahl „123“ und zum booleschen Wert „true“.
  1. Es enthält Trennzeichen: Wenn Ihre Zeichenfolge ein Komma „,“ (oder was auch immer Ihr aktives Trennzeichen ist) enthält, zitieren Sie es.
  1. Es hat Leerzeichenkanten: Vor- oder nachgestellte Leerzeichen erfordern Anführungszeichen.
  1. Es enthält Sonderzeichen: Zeichen wie :, ", \, [, ], {, }.
  1. Es ist leer: Eine leere Zeichenfolge wird als „““ dargestellt.

Beispiele:

Escape-Sequenzen

Halten Sie es einfach. TOON erkennt nur fünf Escape-Sequenzen innerhalb von Strings. Alles andere ist ungültig.

  • \\ (Backslash)
  • \" (Doppelte Anführungszeichen)
  • \n (Neue Zeile)
  • \r (Wagenrücklauf)
  • \t (Tab)

Erweiterte Kopfzeilen und Trennzeichen

Was ist, wenn Ihre Daten voller Kommas sind? Sie möchten nicht jedes einzelne Feld zitieren. Mit TOON können Sie das Trennzeichen im Array-Header ändern.

Sie können einen Tabulator oder einen Pipe (|) verwenden, indem Sie ihn in die Klammern setzen.

Beispiel für ein Pipe-Trennzeichen:

Durch das Hinzufügen von „|“ im Header weiß der Parser, dass er nach Pipes anstelle von Kommas suchen muss, um Ihre Syntax sauber zu halten.

Schlüsselfaltung

Wenn Sie über eine tiefe Verschachtelung, aber nur einen Datenpfad verfügen, müssen Sie nicht fünfmal einrücken. Sie können die Punktnotation (Key Folding) verwenden, um Ihre Struktur zu verflachen.

Standardverschachtelung:

„md Benutzer: Profil: Einstellungen: Benachrichtigungen: E-Mail: wahr SMS: falsch „

Gefaltet (sauberer):

„md user.profile.settings.notifications: E-Mail: wahr SMS: falsch „

Kurzreferenz zum Typ

TOON ordnet sich direkt JSON-Typen zu, verarbeitet jedoch JavaScript-spezifische Randfälle ordnungsgemäß, um eine gültige Ausgabe sicherzustellen.

  • Zahlen: Als kanonische Dezimalzahlen gespeichert. „1.0“ wird zu „1“.
  • Infinity / NaN: Diese werden zu „null“ (da JSON sie nicht unterstützt).
  • Daten: Konvertiert in ISO-Zeichenfolgen in Anführungszeichen.
  • Undefiniert/Funktionen: In „null“ konvertiert.
  • Leere Objekte: Wird als nichts dargestellt (leere Ausgabe).
  • Leere Arrays: Dargestellt als „key[0]:“.

TOON ist ein Format, das Präzision belohnt. Es kann einen Moment dauern, bis Sie sich an das Zählen Ihrer Array-Elemente gewöhnt haben, aber die Vorteile in Bezug auf Lesbarkeit und Dateigröße sind die Mühe wert. Viel Spaß beim Codieren!