تحويل JSON إلى CSV أونلاين — من مصفوفة إلى جدول
تحويل مصفوفة كائنات JSON إلى CSV مع التسطيح واختيار الفاصل وعلامة BOM لبرنامج Excel
تعمل في متصفحك · لا يُرفع أي شيء
ما هذه الأداة؟
مصفوفات JSON حاضرة في كل مكان في البرمجة، لكن جداول البيانات تتعامل مع CSV بسهولة أكبر. تحوّل هذه الأداة JSON على شكل [{...}, {...}] إلى CSV مع صف عناوين. تتحدث النتيجة مباشرة أثناء تعديل المدخلات، ويمكنك أيضًا تنزيلها كملف.
طريقة الاستخدام
- الصق مصفوفة كائنات في خانة الإدخال. الكائن المفرد يعطيك جدولًا من صف واحد.
- اختر الفاصل: فاصلة أو فاصلة منقوطة أو Tab أو خط عمودي. بعض نسخ Excel الإقليمية تتوقع الفاصلة المنقوطة.
- إذا كنت ستفتح الملف في Excel فأبقِ خيار UTF-8 BOM مفعّلًا واضغط تنزيل CSV.
- وللصق النتيجة في برنامج آخر استخدم زر النسخ بدلًا من ذلك.
كيف تعمل؟
-
يتبع التنسيق المعيار RFC 4180. القيمة التي تحتوي على الفاصل أو علامة اقتباس مزدوجة أو سطر جديد تُحاط بعلامات اقتباس مزدوجة، وتُكرَّر علامات الاقتباس الداخلية. وتنتهي الأسطر بـ CRLF.
-
الصف الأول هو صف العناوين. تُجمع الأعمدة من كل الصفوف بترتيب أول ظهور لكل مفتاح.
-
تُسطَّح الكائنات المتداخلة بصيغة النقاط (
a.b.c). أما المصفوفات والكائنات الفارغة فتوضع في خلية واحدة كنص JSON مثل["a","b"]. وإذا احتوى المفتاح نفسه على نقطة فلن يمكن تمييزه عند التحويل العكسي. -
تتحول
nullإلى خلية فارغة، والقيم المنطقية إلىtrueأوfalse، وتُكتب الأرقام بصيغة JavaScript نفسها. الأعداد الصحيحة الأكبر من 9007199254740991 تُقرَّب عند قراءة JSON، لذلك يظهر تحذير. -
عناصر المصفوفة التي ليست كائنات (أرقام أو نصوص وغيرها) تُنتج عمودًا واحدًا باسم
value. -
الملفات بترميز UTF-8، ولا تُضاف علامة BOM إلا إلى الملف المُنزَّل.
-
تنبيهات التحويل ذهابًا وإيابًا: تتحول
nullإلى خلية فارغة، فلا يمكن تمييزها عن النص الفارغ في CSV. كما أن CSV لا يعرف الأنواع، فالتحويل العكسي مع تحويل الأنواع يجعل النصوص الرقمية مثل"123"رقمًا123. -
حقن الصيغ في Excel: الخلية التي تبدأ بـ
=أو+أو-أو@قد تُنفَّذ كصيغة عند فتح الملف في Excel. للبيانات القادمة من مصادر غير موثوقة فعّل الخيار الذي يضع ’ قبل هذه القيم، فتظهر الخلية كنص (وعند فتح ملف CSV تبقى علامة الفاصلة العليا ظاهرة في الخلية)، بينما تبقى الأرقام السالبة العادية مثل-12.5أرقامًا. هذا الخيار معطّل افتراضيًا، فلا تُعدَّل قيمك إلا إذا طلبت ذلك.
أمثلة
المدخلات:
[{"name":"أحمد","address":{"city":"Cairo"},"tags":["a","b"]},{"name":"Bob"}]
النتيجة:
name,address.city,tags
أحمد,Cairo,"[""a"",""b""]"
Bob,,
الأسئلة الشائعة
يظهر النص مشوّهًا عندما أفتح ملف CSV في Excel. ما الحل؟
كثيرًا ما يقرأ Excel ملف CSV بترميز UTF-8 بلا علامة BOM على أنه بترميز قديم، فيتشوّه النص العربي والصيني والكوري والحروف اللاتينية المشكولة. أبقِ خيار إضافة UTF-8 BOM مفعّلًا واستخدم زر تنزيل CSV، فيبدأ الملف بالبايتات EF BB BF ويقرؤه Excel على أنه UTF-8. أما زر النسخ فلا يضيف هذه العلامة.
كيف يتحول JSON المتداخل إلى جدول؟
الكائن الموجود داخل كائن آخر يصبح عمودًا يُسمّى بالنقاط، مثل address.city. أما المصفوفة فتوضع في خلية واحدة كنص JSON. وإذا اختلفت المفاتيح بين الصفوف تُدمج الأعمدة بترتيب أول ظهور لها وتبقى الخلايا الناقصة فارغة.
هل يمكن إعادة ملف CSV إلى JSON؟
استخدم أداة تحويل CSV إلى JSON مع تفعيل تحويل الأرقام واستعادة التداخل، فتحصل على نتيجة قريبة جدًا من الأصل. لكن CSV لا يحمل أي معلومات عن الأنواع، فالنص "123" والرقم 123 يبدوان متطابقين.
هل تُرفع بياناتي إلى خادم؟
لا. يجري التحويل بالكامل داخل متصفحك، ولا يُرسل شيء ولا يُخزَّن.