كيفية استخدام محوّل JSON إلى CSV
- الصق مصفوفة JSON من الكائنات.
- اختر الفاصل وما إذا كان يجب تسطيح المفاتيح المتداخلة.
- تحقق من جدول المعاينة، ثم انسخ CSV أو نزّله.
مزايا محوّل JSON إلى CSV
- تحويل مصفوفات الكائنات (أو أغلفة API مثل { "data": [...] }) إلى CSV
- تسطيح الكائنات والمصفوفات المتداخلة إلى أعمدة بصيغة النقطة
- فاصل بفاصلة أو فاصلة منقوطة أو علامة جدولة أو شريط عمودي، مع نهايات أسطر CRLF اختيارية
- اقتباس وفق RFC 4180 للفواصل وعلامات الاقتباس والأسطر الجديدة
- إحصاءات الصفوف/الأعمدة ومعاينة جدولية للصفوف الأولى
- تنزيل كملف CSV جاهز لبرنامج Excel أو Google Sheets
مثال على محوّل JSON إلى CSV
عملاء مع عنوان متداخل
الإدخال:
[{"id":1,"name":"Omar","address":{"city":"Riyadh"}},{"id":2,"name":"Sara, J.","address":{"city":"Jeddah"}}]النتيجة:
id,name,address.city
1,Omar,Riyadh
2,"Sara, J.",Jeddahالأسئلة الشائعة حول محوّل JSON إلى CSV
ما شكل الإدخال المتوقع؟
مصفوفة من الكائنات هي الأفضل — يصبح كل كائن صفاً ويصبح اتحاد جميع المفاتيح هو الترويسة. ويصبح الكائن المفرد صفاً واحداً، وتُفكّ أغلفة API بصيغة { "data": [...] } تلقائياً.
كيف تُعالج الكائنات والمصفوفات المتداخلة؟
تُسطَّح إلى أعمدة بصيغة النقطة مثل address.city وtags.0. عطّل التسطيح للاحتفاظ بالقيم المتداخلة كسلاسل JSON نصية في خلية واحدة.
هل سيفتح Excel الملف بشكل صحيح؟
نعم. تُقتبس الحقول التي تحتوي على الفاصل أو علامات الاقتباس أو الأسطر الجديدة وفق RFC 4180. واختر الفاصلة المنقوطة كفاصل إذا كانت إعدادات Excel المحلية لديك تستخدم الفاصلة كفاصل عشري.
ماذا يحدث عندما تختلف مفاتيح الصفوف؟
تُكتب القيم المفقودة كخلايا فارغة، بحيث يحتوي كل صف على العدد نفسه من الأعمدة.
ملاحظات تقنية
تُستخرج الصفوف عبر toRowObjects: مصفوفة الكائنات تُقابَل صفاً لصف، ومصفوفات المصفوفات تصبح أعمدة column1…n، والقيم الأولية تُوضع في عمود value، ولا يُفكّ الكائن المنفرد إلا إذا احتوى على مصفوفة باسم data أو items أو results أو rows أو records (بهذا الترتيب). ويستخدم التسطيح flattenJson بنقطة للمفاتيح وفهارس المصفوفات معاً (tags.0)؛ وتبقى الكائنات والمصفوفات الفارغة على شكل {} و[] حرفياً. أما الترويسة فهي اتحاد المفاتيح بترتيب أول ظهور عبر جميع الصفوف.
تُكتب الخلايا بالدالة escapeCsvField: لا يُقتبس الحقل إلا إذا احتوى على الفاصل المختار أو علامة اقتباس مزدوجة أو CR/LF أو مسافات في طرفيه، مع مضاعفة علامات الاقتباس الداخلية وفق RFC 4180. وتُنسَّق الأعداد بطريقة JavaScript (1e21 ← 1e+21، و0.1 + 0.2 ← 0.30000000000000004)، ويصبح null خلية فارغة، ولا تُضاف علامة BOM ولا سطر جديد ختامي. ولا تُحيَّد البادئات = و+ و- و@، فطبّق سياستك ضد حقن CSV قبل فتح بيانات غير موثوقة في جدول بيانات.