Pack Camo

Data Studio

انقل النصوص المهيكلة بين JSON وYAML وTOML وCSV وMarkdown. كل شيء يعمل محليًا — لا يُرفع أي شيء.

الإدخال
JSON · JSONL · YAML · TOML · CSV · TSV · Markdown
الإخراج
JSON · JSONL · YAML · TOML · CSV · TSV · HTML

المصدر

JSON · 320 B

النتيجة

YAML

شجرة واحدة، ست صيغ

كل تحويل يحلّل المصدر إلى شجرة واحدة ذات أنواع محددة، ثم يكتب تلك الشجرة من جديد بالصيغة المستهدفة. هذا ما يجعل التحويل ذهابًا وإيابًا أمينًا: يبقى الرقم رقمًا، ويُحفظ التداخل، وتحتفظ مفاتيح الكائنات بالترتيب الذي كُتبت به بدل أن تُرتَّب أبجديًا في صمت. وهو أيضًا ما يجعل إضافة صيغة جديدة مجرد محلّل ومسلسِل واحدين، لا حالة خاصة جديدة لكل زوج من الصيغ.

ما تجيده كل صيغة

JSON
صيغة التبادل الافتراضية. تحافظ على التداخل والأنواع كما هي.
YAML
مناسبة لملفات الإعداد وللتعليقات، وإن كانت التعليقات لا تُنقل.
TOML
تحتاج جدولًا في الجذر. تُحذف قيم null — فليس في TOML قيمة كهذه.
CSV
جاهزة لجداول البيانات. تحتاج مصفوفة من الكائنات؛ وتصبح القيم المتداخلة خلايا JSON.
TSV
CSV بعلامات جدولة. أكثر أمانًا حين تمتلئ بياناتك بالفواصل.
JSONL
مستند واحد في كل سطر. الصيغة التي تستخدمها خطوط السجلات ومجموعات بيانات نماذج اللغة.

الحالات الحرجة، معالَجة عن قصد

  • ليس في CSV أنواع. لا تتحول الخلية إلى رقم إلا حين تعيد طباعة ذلك الرقم النص الأصلي بحذافيره، لذا تبقى 007 نصًا بينما لا تبقى 12 كذلك.
  • ليس في CSV تداخل. عند كتابة جدول من بيانات متداخلة تُحفظ القيم المتداخلة بصيغة JSON داخل الخلية بدل اختراع مخطط تسطيح سيكون عليك عكسه لاحقًا.
  • ليس في TOML قيمة null. تُحذف المفاتيح التي قيمتها null بدل إفشال المستند كله، ويُرفض تمامًا أي مصدر لا يكون كائنًا في جذره — فـ TOML يحتاج جدولًا هناك.
  • التعليقات ليست بيانات. تعيش تعليقات YAML وTOML خارج الشجرة، لذا لا تنجو من التحويل. لا شيء يمكنه نقلها.

الأسئلة الشائعة

كيف أحوّل JSON إلى YAML، أو YAML إلى JSON؟
الصق المستند أو أسقطه، وأكّد صيغة الإدخال المكتشفة، ثم اختر صيغة الإخراج. يمر الاتجاهان عبر الشجرة ذات الأنواع نفسها، فينجو التداخل والأرقام والقيم المنطقية من الرحلة.
هل يحافظ تحويل CSV إلى JSON على الأصفار البادئة؟
نعم. لا تتحول الخلية إلى رقم إلا حين تعيد طباعة ذلك الرقم النص الأصلي بحذافيره، لذا يبقى معرّف مثل 007 نصًا "007" بينما يصبح 12 الرقم 12.
هل يُحافَظ على ترتيب المفاتيح في JSON؟
نعم. تحتفظ مفاتيح الكائنات بترتيبها في المستند بدل ترتيبها أبجديًا، فيبقى المخرج قابلًا للمقارنة مع ملفك المصدري.
لماذا فشل تحويلي إلى TOML؟
يحتاج TOML إلى جدول في المستوى الأعلى، لذا لا يمكن تمثيل مصفوفة أو قيمة مفردة. كما أن TOML ليس فيه null: تُحذف المفاتيح التي قيمتها null بدل إفشال المستند كله.
ما هو JSONL، ومتى أستخدمه؟
JSONL — ويُسمى أيضًا NDJSON — يضع مستند JSON مضغوطًا واحدًا في كل سطر. وهو ما تستخدمه خطوط السجلات ومجموعات بيانات تعلّم الآلة، لأن القارئ يستطيع بثّه سجلًا تلو الآخر بدل تحليل الملف كله أولًا.