محوّل JSON
حوّل بين JSON وYAML وCSV وXML في أي اتجاه، مع رسائل خطأ واضحة — وكل ذلك داخل متصفحك.
محوّل JSON — من JSON إلى YAML وCSV وXML وبالعكس
الصق JSON أو YAML أو CSV أو XML، واختر الصيغة التي تحتاجها، فتظهر النسخة المحوَّلة وأنت تكتب. كل الاتجاهات متاحة: من JSON إلى YAML لملف Kubernetes، ومن YAML إلى JSON لطلب API، ومن JSON إلى CSV لجدول بيانات، ومن CSV إلى JSON لسكربت استيراد، ومن XML إلى JSON حين تكون خدمة قديمة ما زالت تتكلم XML. يجري التحليل والتحويل داخل متصفحك، فلا تغادر ملفات الإعدادات وتصديرات العملاء جهازك.
صُمّمت الأداة للملفات الحقيقية التي يلصقها الناس: CSV مصدَّر من Excel بفواصل منقوطة وعلامة ترتيب البايتات، وJSON فيه كائنات متداخلة يجب أن تتسع لها الأعمدة، وXML مليء بالسمات. وحين يكون الإدخال معطوبًا تخبرك أين الخلل بالسطر والعمود، بدل أن تفشل بصمت.
طريقة التحويل
- اختر صيغة الإدخال من من وصيغة الإخراج من إلى.
- الصق بياناتك، أو اضغط فتح ملف لتحميل ملف، أو اضغط مثال لترى نموذجًا جاهزًا.
- تظهر النتيجة وأنت تكتب. عدّل المسافة البادئة أو الفاصل في CSV أو العنصر الجذر في XML عند الحاجة.
- اضغط نسخ أو تنزيل، واستخدم زر ⇄ لإرسال النتيجة في الاتجاه المعاكس.
أي صيغة لأي غرض
| الصيغة | نقطة قوتها | الاستخدام المعتاد |
|---|---|---|
| JSON | أنواع بيانات دقيقة، وتداخل، ودعم شامل في المحلّلات | واجهات API وJavaScript ومستندات NoSQL والإعدادات |
| YAML | سهلة القراءة للبشر، تقبل التعليقات، وعلامات ترقيم أقل | Kubernetes وDocker Compose وخطوط CI وAnsible |
| CSV | جداول مسطّحة تُفتح في أي برنامج جداول بيانات | التصدير والاستيراد والتقارير والبيانات المسلَّمة لغير المطورين |
| XML | السمات والمحتوى المختلط والمخططات | خدمات SOAP وخلاصات RSS ومستندات المكتب والأنظمة المؤسسية القديمة |
من JSON إلى CSV: تسطيح البيانات المتداخلة
ملف CSV جدول مسطّح، أما JSON فيسمح بوضع كائنات داخل كائنات. لذلك يسطّح المحوّل كل سجل: يصبح الكائن المتداخل أسماء أعمدة بنقاط مثل address.city، وتحصل المصفوفة على فهرس كما في tags.0 وtags.1. الأعمدة هي اتحاد كل المفاتيح الموجودة بترتيب أول ظهور لها، فإذا نقص حقل من سجل بقيت خانته فارغة لا أكثر. والقيم التي تحتوي على الفاصل أو علامة تنصيص أو فاصل أسطر توضع بين علامتي تنصيص وتُهرَّب كما يصف RFC 4180، وهو ما يتوقعه Excel وGoogle Sheets وأدوات الاستيراد في قواعد البيانات.
وفي الاتجاه المعاكس، يقرأ التحويل من CSV إلى JSON الصف الأول على أنه أسماء الأعمدة ويحوّل كل صف آخر إلى كائن. فعّل تداخل أسماء الأعمدة ذات النقاط فيعود address.city كائنًا متداخلًا، وهكذا يستطيع ملف JSON أن يمر عبر جدول بيانات ويعود كما كان.
تفاصيل CSV التي تفسد عادةً
- الفاصل: إذا تركته على تلقائي ينظر المحوّل في السطر الأول ويختار بين الفاصلة والفاصلة المنقوطة وعلامة الجدولة والخط العمودي. تصديرات Excel الأوروبية تستخدم الفاصلة المنقوطة، والاكتشاف يتعامل معها.
- الحقول بين علامات التنصيص: الفواصل وفواصل الأسطر داخل علامات التنصيص تبقى جزءًا من القيمة، والعلامة المضاعفة
""تصبح علامة واحدة. - علامة ترتيب البايتات: يُزال الحرف غير المرئي الذي يضعه Excel في بداية ملف CSV بترميز UTF-8، فيخرج اسم العمود الأول نظيفًا.
- الأرقام والقيم المنطقية: مع تفعيل التعرّف على الأرقام وقيم true/false يصبح
42رقمًا وtrueقيمة منطقية. أما قيم مثل007أو1.50فتبقى نصًا، لأن تحويلها إلى أرقام يُسقط الصفر في البداية أو الخانة الأخيرة.
JSON وYAML
YAML مجموعة شاملة لـ JSON، لذا يتحول كل مستند JSON إلى YAML دون أي فقد. المفاجآت تكمن في الاتجاه الآخر: بعض المحلّلات تحوّل yes وno غير المحاطة بعلامات تنصيص، والتواريخ وأرقام الإصدارات، إلى أنواع أخرى. يقرأ هذا المحوّل YAML وفق المخطط الأساسي لـ YAML 1.2، حيث لا شيء خاص إلا true وfalse والأرقام وnull، فيبقى تاريخ مثل 2024-01-01 نصًا. وحين يكتب YAML يضع بين علامتي تنصيص أي نص قد يسيء محلّل آخر قراءته، مثل 'yes' أو 'on' أو '1.10'. أما التعليقات والمراسي فلا مقابل لها في JSON: تُفرَد المراسي ومفاتيح الدمج << إلى نسخ كاملة، وتُحذف التعليقات.
JSON وXML
في XML أشياء لا يعرفها JSON، لذا يتبع المحوّل اصطلاحًا شائعًا. تصبح السمة مفتاحًا يبدأ بـ @، ويصبح النص الواقع بجوار العناصر الفرعية #text، ويصبح العنصر المتكرر مصفوفة. وبذلك يتحول <book id="b1"><title>Clean Code</title></book> إلى {"book": {"@id": "b1", "title": "Clean Code"}}. تُطبَّق القواعد نفسها بالعكس عند التحويل من JSON إلى XML، والمفاتيح التي لا تصلح أسماءً في XML تُستبدل أحرفها غير الصالحة بشرطات سفلية. وإذا كان في JSON أكثر من مفتاح في المستوى الأعلى، فاضبط العنصر الجذر لتسمية العنصر المغلِّف.
رسائل خطأ يمكنك التصرف بناءً عليها
المحوّل الذي يعرض صندوقًا فارغًا حين يكون الإدخال معطوبًا يضيّع وقتك. أما هذا فيقول ما الخطأ وأين: يُبلَّغ عن JSON غير الصالح بسطر وعمود أول حرف لا مكان له هناك، وتأتي أخطاء YAML مع السبب الذي يذكره المحلّل، ويُبلَّغ عن XML غير سليم البنية مع موضعه. كما يُنبَّه إلى حقل CSV فُتحت علامة تنصيصه ولم تُغلق، لأنه كان سيبتلع بقية الملف.
الخصوصية
لا يُرسَل شيء إلى أي مكان. يُحمَّل محلّل YAML مرة واحدة عند اختيارك YAML أول مرة، وكل ما عداه JavaScript عادي داخل الصفحة. وهذا يجعل الأداة آمنة لملفات البيئة، واستجابات API التي تحمل رموزًا، والتصديرات التي تحتوي على بيانات شخصية.
أدوات ذات صلة
للتحقق من JSON أو تنسيقه قبل تحويله، استخدم منسّق JSON. ولمقارنة نسختين من ملف إعدادات، استخدم مقارنة النصوص. وإذا كنت تحتاج اتجاهًا واحدًا، تفتح صفحات المهام المحوّل جاهزًا: JSON إلى YAML وJSON إلى CSV وXML إلى JSON. أما لتحويل JSON إلى واجهات TypeScript أو هياكل Go أو نماذج Python، فاستخدم تحويل JSON إلى أنواع.