Vad är TOON-formatet?

TOON (Token-Oriented Object Notation) är ett kompakt, människoläsbart data‑serialiseringsformat som är speciellt utformat för Large Language Models (LLMs). Till skillnad från JSON, som upprepar fältnamn för varje objekt i en array, deklarerar TOON fältnamnen en gång och strömmar sedan data i rader – likt CSV men med explicit struktur. Denna design minskar vanligtvis token‑användningen med 30‑60 % jämfört med formaterad JSON, särskilt för enhetliga objekt‑arrayer. TOON kombinerar YAMLs indenteringsbaserade struktur för nästlade objekt med CSV:s tabulära effektivitet, optimerad för LLM‑sammanhang där token‑kostnader är viktiga.

Verktygsbeskrivning

Denna konverterare omvandlar data mellan JSON‑ och TOON‑formaten i båda riktningarna. Klistra helt enkelt in din JSON‑data för att generera kompakt TOON‑utdata, eller konvertera TOON tillbaka till standard‑JSON. Verktyget använder det officiella @toon-format/toon‑biblioteket för att säkerställa korrekt konvertering. TOON är särskilt effektivt för dataset med återkommande strukturer – såsom användarposter, transaktionsloggar, API‑svar eller någon tabulär data – där minskning av token‑antalet förbättrar effektiviteten när man arbetar med LLMs.

Exempel

JSON‑inmatning:

{
  "users": [
    { "id": 1, "name": "Alice", "role": "admin" },
    { "id": 2, "name": "Bob", "role": "user" }
  ]
}

TOON‑utdata:

users[2]{id,name,role}:
  1,Alice,admin
  2,Bob,user

Exempel på nästlad struktur

JSON med nästlade objekt konverteras till indenterat TOON‑format:

{
  "order": {
    "id": "ORD-456",
    "items": [
      { "sku": "A1", "qty": 2, "price": 19.99 },
      { "sku": "B2", "qty": 1, "price": 29.99 }
    ],
    "total": 69.97
  }
}

Blir:

order:
  id: ORD-456
  items[2]{sku,qty,price}:
    A1,2,19.99
    B2,1,29.99
  total: 69.97

Funktioner

  • Bidirektionell konvertering mellan JSON‑ och TOON‑format med fullständig trohet
  • Betydande token‑reduktion (30‑60 % färre token jämfört med JSON för enhetliga arrayer)
  • Bevarar datastruktur inklusive nästlade objekt, arrayer och primitiva värden
  • Automatisk formatdetektering och optimal kodningsstrategi
  • Människoläsbar utdata med tydlig tabulär struktur för enhetlig data
  • Typ‑säker konvertering som behåller tal, booleska, null och strängar korrekt
  • Hantera kantfall inklusive tomma arrayer, nästlade strukturer och blandade typer
  • Realtidskonvertering med omedelbara resultat medan du skriver

Användningsområden

  1. LLM‑API‑optimering – minska token‑kostnader när strukturerad data skickas till GPT, Claude eller andra LLMs genom att konvertera JSON‑payloads till TOON‑format före API‑anrop
  2. Data‑analys‑promptar – förbered dataset för LLM‑analys med mer effektiv kodning, vilket möjliggör större dataset inom kontextgränser
  3. Strukturerad datagenerering – använd TOON i promptar för att be LLMs generera tabulär data mer effektivt än JSON
  4. Logg‑behandling – konvertera applikationsloggar eller analysdata till kompakt format för LLM‑baserad analys och sammanfattning
  5. Konfigurationshantering – omvandla konfigurationsfiler till token‑effektivt format när LLMs används för infrastrukturhantering eller DevOps‑uppgifter

Detaljer om token‑effektivitet

TOON uppnår betydande token‑besparingar genom flera optimeringar:

  • Inga upprepade fältnamn – deklarerar fält en gång i rubriken istället för att upprepa för varje objekt
  • Minimal interpunktion – tar bort onödiga hakparenteser, klammerparenteser och citattecken där det är säkert
  • Tabulärt format – använder CSV‑liknande rader för enhetliga objekt‑arrayer
  • Avgränsarflexibilitet – stöder komma (standard), tabb eller pipe‑avgränsare för optimal tokenisering

Token‑jämförelseexempel (med GPT‑5‑tokeniserare):

  • JSON (formaterad): 100 anställdaposter ≈ 49 776 token
  • TOON: Samma data ≈ 17 635 token (64,6 % reduktion)
  • CSV: ≈ 15 583 token (mest kompakt, men saknar struktur)

TOON ger den bästa balansen mellan kompaktitet och strukturell integritet för LLM‑applikationer.

Formatöversikt

Objekt: Enkla nyckel‑värde‑par med indentering för nästling

id: 123
name: Ada
active: true

Arrayer: Längd deklarerad i hakparenteser, primitiva arrayer inline

tags[3]: reading,gaming,coding

Tabulära arrayer: Enhetliga objekt formaterade som tabeller med fält‑rubriker

items[2]{sku,qty,price}:
  A1,2,9.99
  B2,1,14.5

Citatregler: Strängar omges av citattecken endast när det är nödvändigt (innehåller avgränsare, kolon eller ser ut som andra typer)

Konverteringsanteckningar

Vid konvertering från JSON till TOON:

  • Enhetliga objekt‑arrayer använder automatiskt tabulärt format
  • Nästlade strukturer behåller korrekt indentering
  • Icke‑JSON‑typer (undefined, functions) konverteras till null
  • Datum konverteras till ISO‑strängar
  • Tal undviker vetenskaplig notation

Vid konvertering från TOON till JSON:

  • Behåller standard‑JSON‑format med 2‑mellanslags‑indentering
  • Validerar array‑längder och fält‑konsistens
  • Escapar specialtecken korrekt
  • Bevarar typinformation (tal, booleska, null)