محوّل TOON إلى JSON
تحويل بين صيغ JSON و TOON (Token-Oriented Object Notation). TOON هو صيغة مضغوطة وقابلة للقراءة من قبل الإنسان صُممت لتقليل استهلاك الرموز بنسبة 30-60% للنماذج اللغوية الكبيرة، خاصةً فعّالة للمصفوفات المتجانسة من الكائنات.
الإدخال
الإخراج
ملف القراءة
ما هو تنسيق TOON؟
TOON (Token-Oriented Object Notation) هو تنسيق تسلسل بيانات مضغوط وقابل للقراءة من قبل الإنسان، صُمم خصيصًا للنماذج اللغوية الكبيرة (LLMs). على عكس JSON، الذي يكرر أسماء الحقول لكل كائن في مصفوفة، يعلن TOON عن أسماء الحقول مرة واحدة ثم يبث البيانات في صفوف — مشابهًا لـ CSV لكن به بنية صريحة. هذا التصميم يقلل عادةً من استهلاك الرموز بنسبة 30‑60٪ مقارنةً بـ JSON المُنسق، خاصةً للمصفوفات المتجانسة من الكائنات. يجمع TOON بين بنية YAML القائمة على المسافات المتداخلة للكائنات المتداخلة وكفاءة CSV الجدولية، مُحسّنًا لسياقات LLM حيث تكاليف الرموز مهمة.
وصف الأداة
يحوّل هذا المحوّل البيانات بين صيغتي JSON و TOON باتجاهين. ما عليك سوى لصق بيانات JSON الخاصة بك لتوليد مخرجات TOON مضغوطة، أو تحويل TOON مرة أخرى إلى JSON قياسي. تستخدم الأداة مكتبة @toon-format/toon الرسمية لضمان التحويل الدقيق. يُعد TOON فعالًا بشكل خاص للمجموعات التي تحتوي على هياكل مكررة — مثل سجلات المستخدمين، سجلات المعاملات، استجابات API، أو أي بيانات جدولة — حيث يقلل تقليل عدد الرموز من استهلاك الموارد عند العمل مع LLMs.
أمثلة
إدخال JSON:
{
"users": [
{ "id": 1, "name": "Alice", "role": "admin" },
{ "id": 2, "name": "Bob", "role": "user" }
]
}مخرجات TOON:
users[2]{id,name,role}:
1,Alice,admin
2,Bob,userمثال على بنية متداخلة:
JSON يحتوي على كائنات متداخلة يتحول إلى تنسيق TOON مُنظم:
{
"order": {
"id": "ORD-456",
"items": [
{ "sku": "A1", "qty": 2, "price": 19.99 },
{ "sku": "B2", "qty": 1, "price": 29.99 }
],
"total": 69.97
}
}يصبح:
order:
id: ORD-456
items[2]{sku,qty,price}:
A1,2,19.99
B2,1,29.99
total: 69.97الميزات
- تحويل ثنائي الاتجاه بين صيغتي JSON و TOON مع الحفاظ الكامل على الدقة
- تقليل كبير في عدد الرموز (30‑60٪ أقل مقارنةً بـ JSON للمصفوفات المتجانسة)
- الحفاظ على بنية البيانات بما في ذلك الكائنات المتداخلة، المصفوفات، والقيم الأولية
تفاصيل كفاءة الرموز
يحقق TOON توفيرًا كبيرًا في عدد الرموز من خلال عدة تحسينات:
- عدم تكرار أسماء الحقول – يعلن عن الحقول مرة واحدة في الرأس بدلاً من تكرارها لكل كائن
- حد أدنى من علامات الترقيم – يزيل الأقواس، الأقواس المعقوفة، والاقتباسات الزائدة حيثما يكون ذلك آمنًا
- تنسيق جدولي – يستخدم صفوفًا شبيهة بـ CSV للمصفوفات المتجانسة من الكائنات
- مرونة الفواصل – يدعم الفواصل (الافتراضية)، علامات التبويب، أو الأنابيب لتحقيق أفضل تجزئة للرموز
مثال مقارنة الرموز (باستخدام محلل رموز GPT‑5):
- JSON (منسق): 100 سجل موظف ≈ 49,776 رمزًا
- TOON: نفس البيانات ≈ 17,635 رمزًا (تخفيض بنسبة 64.6٪)
- CSV: ≈ 15,583 رمزًا (الأكثر ضغطًا، لكنه يفتقر إلى البنية)
يوفر TOON أفضل توازن بين الضغوطية وسلامة البنية لتطبيقات LLM.
نظرة عامة على التنسيق
الكائنات: أزواج مفتاح‑قيمة بسيطة مع مسافات لتحديد التداخل
id: 123
name: Ada
active: trueالمصفوفات: يُعلن عن الطول بين الأقواس، والمصفوفات الأولية تُكتب في سطر واحد
tags[3]: reading,gaming,codingالمصفوفات الجدولية: كائنات متجانسة تُنسق كجداول مع رؤوس الحقول
items[2]{sku,qty,price}:
A1,2,9.99
B2,1,14.5قواعد الاقتباس: تُقتبس السلاسل فقط عند الضرورة (عند احتواء الفواصل، النقطتين، أو تشبه أنواعًا أخرى)
ملاحظات التحويل
عند تحويل JSON إلى TOON:
- تُستخدم الصيغة الجدولية تلقائيًا للمصفوفات المتجانسة من الكائنات
- تُحافظ البنى المتداخلة على المسافات المناسبة
- تُحول الأنواع غير المدعومة في JSON (undefined، functions) إلى null
- تُحول التواريخ إلى سلاسل ISO
- تُكتب الأعداد دون صيغة علمية
عند تحويل TOON إلى JSON:
- يُحافظ على تنسيق JSON القياسي مع مسافة إزاحة 2 مسافة
- يتحقق من طول المصفوفات وتناسق الحقول
- يهرب الأحرف الخاصة بشكل صحيح
- يحافظ على معلومات النوع (أعداد، بوليانات، null)