KeroTools

تحويل JSON إلى CSV أو جدول بيانات

حوّل مصفوفة JSON إلى ملف CSV تفتحه في Excel أو Sheets.

أسقط ملفك هنا أو انقر للتصفح

ملفات JSON (‏.json)

بياناتك لا تغادر جهازك

لا شيء يُحذف لاحقاً

آمن لاستجابات الواجهات البرمجية الخام

يعمل في كل متصفح حديث

كيف تعمل

  1. 1

    الصق أو أفلت JSON

    مصفوفة من الكائنات تعمل مباشرة؛ الصق النصّ أو أفلت ملف ‎.json‎ على الصفحة.

  2. 2

    راجع صفّ العناوين

    تأكد أن الأعمدة مطابقة لما توقّعته قبل أن تأخذ الملف إلى جدول بيانات.

  3. 3

    نزّل ملف CSV

    افتحه في Excel أو Google Sheets أو Numbers، أو مرّره إلى نظام يستورد CSV.

لماذا تستخدم هذه الأداة

التداخل يُسطَّح

الكائنات داخل الكائنات تصبح أسماء أعمدة بنقطة بدل أن تُحذف أو تُلقى كنصّ خام في خلية.

عنوان واحد لبيانات غير منتظمة

السجلات التي لا تتشارك المفاتيح نفسها تنتظم رغم ذلك، لأن صفّ العناوين هو اتحاد كل مفتاح ظهر.

يفتح نظيفاً في Excel

الاقتباس والهروب يتبعان القواعد التي تطبّقها جداول البيانات فعلياً، فتحطّ الأعمدة في مواضعها.

لا شيء يُرفع

التحليل يجري في متصفحك — استجابة واجهة برمجية مليئة بسجلات عملاء لا تصل إلى خادم أبداً.

بلا حدّ للسجلات

ذاكرة جهازك هي السقف الوحيد، لا سقف صفوف في باقة مجانية.

مجاني بلا حساب

بلا تسجيل، وبلا علامة مائية، وبلا حدّ لعدد الملفات التي تحوّلها.

الشجرة لا بدّ أن تصير مستطيلاً، وأنت من يختار موضع القطع

هنا تكمن صعوبة هذا الاتجاه كلها. JSON شجرة: كائنات داخل كائنات، ومصفوفات داخلها. وCSV مستطيل: مجموعة أعمدة ثابتة، وسجل واحد في كل سطر، ولا تداخل متاح إطلاقاً. فالمحوّل لا يستطيع أن يترجم ببساطة، بل عليه أن يسطّح، والتسطيح يعني أن يقرر ما الذي يُحتسب صفّاً. في مصفوفة بسيطة من كائنات مسطّحة يكون الجواب بديهياً: كائن في كل سطر. أما ما هو أعمق من ذلك فاختيار حقيقي. طلبٌ يحوي قائمة بنودٍ يمكن أن يصير صفّاً واحداً للطلب مع سحق البنود في خلية واحدة، أو صفّاً لكل بند مع تكرار تفاصيل الطلب في كل سطر. وليس أحدهما خطأً؛ كلٌّ منهما يجيب عن سؤال مختلف. اعرف أيّهما تتوقّعه وجهتك قبل التحويل، لأن الاختيار الخاطئ ينتج ملفاً يبدو سليماً ويحتسب كل شيء مرتين.

سجلات JSON ليست ملزَمة بالاتفاق، وCSV يصرّ على أن تتفق

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

الأنواع تُفقد في طريق الخروج، وهذا مقبول غالباً

في الاتجاه الداخل إلى JSON يكون السؤال الصعب: أيّ النصوص ينبغي أن تصير أرقاماً. أما في الخروج فالسؤال يتلاشى — إذ لا أنواع في CSV، فيصير `42` و`true` و`null` حروفاً عادية ويُسلَّم معناها لما سيقرأ الملف. وهذا غير ضار في الأعمّ، لأن القارئ جدول بيانات وإنسان. لكنه يظهر في موضعين. الحقول المنطقية تصل كنصّ حرفيّ `true` و`false`، وهو يُرتَّب ويُرشَّح على نحو مختلف عن مربع اختيار، وقد يحتاج تحويلاً إن كان زميل سيعمل عليه. وnull تصير خلية فارغة، وهي — كما سبق — لا تُميَّز عن حقل مفقود. وليس أيٌّ من الاثنين عيباً في التحويل؛ لكن معرفتهما تفيد قبل أن يبني أحدٌ معادلة فوق النتيجة.

لماذا قد يتحوّل حقل نصّي إلى معادلة

هذه هي مسألة السلامة الحقيقية الوحيدة في هذا الاتجاه، وهي قائمة لأن سلاسل JSON كثيراً ما تحمل نصاً كتبه بشر. حين يفتح جدول بيانات ملف CSV فإنه يعامل أي خلية تبدأ بـ`=` أو `+` أو `-` أو `@` بوصفها معادلة لا نصاً. وصف منتج يبدأ بإشارة ناقص، وحقل ملاحظات يبدأ بـ`@اسم`، وسطر عنوان يفتتح بإشارة زائد — كلٌّ منها يصير شيئاً يحاول الجدول تقييمه، وأحسن الأحوال أن تجد خطأً في الخلية مكان بياناتك. وفي أسوئها تصير قيمة مصوغة عمداً معادلةً قابلة للتنفيذ في مصنّف شخص آخر، ولهذا تُصنَّف المسألة حقناً في CSV لا مجرد شذوذ تنسيقي. فإن كان JSON آتياً من نموذج ملأه مستخدمون حقيقيون، فتصفّح تلك الأعمدة بعد الفتح بدل افتراض أن النصّ وصل نصاً.

الوجهة إنسان، وهذا هو المقصد

يسير هذا التحويل في اتجاه محدد لسبب محدد. JSON يذهب إلى البرامج، وCSV يذهب إلى الناس وإلى الأنظمة التي يشغّلونها أصلاً. استجابة واجهة برمجية تصير ورقة يستطيع زميل ترتيبها وترشيحها. تصدير من أداة يصير ملفاً يستطيع فريق المالية بناء جدول محوري عليه. قائمة سجلات تصير شيئاً تناوله لمن لن يفتح محرر شفرة يوماً. لهذا كان الهدف CSV بدل إبقاء البيانات كما هي، ولهذا كان صفّ العناوين أهم من حجم الملف بالبايت — فالمقصد هو قابلية القراءة. وإن كان الجمهور برنامجاً لا إنساناً فالأرجح أنك تريد الاتجاه المعاكس، أو لا تريد تحويلاً أصلاً. وإن كان الملف ذاهباً إلى Excel مباشرة وباقياً فيه، فالذهاب إلى مصنّف حقيقي يوفّر عليك مسألتَي الترميز والفاصل من أساسهما.

لماذا يهمّ التحويل المحلي في هذا النوع من الملفات

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

أخطاء شائعة يجب تجنّبها

  • التحويل قبل تحديد ما هو الصفّ. الطلب ذو البنود يمكن أن يصير صفّاً للطلب أو صفّاً لكل بند — اختر عمداً، فالخيار الخاطئ ينتج ملفاً يبدو صحيحاً ويضاعف المجاميع.
  • الثقة بأن الخلية الفارغة تعني شيئاً بعينه. الفراغ قد يكون مفتاحاً غائباً أو null أو سلسلة فارغة؛ إن كان التمييز مهماً فاحفظه داخل JSON قبل التحويل، لأن CSV لا يستطيع حمله.
  • فتح النتيجة دون فحص الخلايا التي تبدأ بـ`=` أو `+` أو `-` أو `@`. جداول البيانات تعاملها معادلاتٍ، فالنصّ الذي كتبه مستخدم قد يصل خطأً أو، أسوأ، شيئاً قابلاً للتنفيذ.
  • افتراض أن كل سجل يحمل المفاتيح نفسها. استجابات الواجهات البرمجية تحذف الحقول الاختيارية بدل تصفيرها، فوجب أن يكون العنوان اتحاد كل المفاتيح — تحقق أن عدد الأعمدة هو ما توقّعته.
  • لصق استجابة واجهة برمجية خام في محوّل عبر الإنترنت. تلك الحمولات تحمل عادة معرّفات وعناوين بريد وأحياناً رموز وصول في حقول لم تصل إليها بالتمرير؛ حوّل محلياً بدلاً من ذلك.

كيف تُقارن

الجانبهذه الأداةمحوّلات عبر الإنترنتسكربت خاص بك
إرسال البيانات إلى خادملا يحدث أبداًغالباً نعملا
إعداد مطلوبلا شيءلا شيءبيئة تشغيل واعتماديات
تسطيح التداخلنعم، أعمدة بنقطةمتفاوتبحسب ما تكتبه
حدّ السجلاتذاكرة الجهاز فقطمقيّد غالباًلا يوجد
حساب أو تسجيلغير مطلوبمطلوب غالباًغير مطلوب
السعرمجانيمجاني / باقات مدفوعةوقتك

المزايا

أعمدة بنقطة للتداخل

كائن `address` المتداخل يصبح `address.city` و`address.postcode` بدل كتلة نصية واحدة.

عنوان اتحادي

كل مفتاح وُجد عبر السجلات يظهر مرة واحدة، فالحقل الغائب عن بعض الصفوف يحصل على عمود رغم ذلك.

اقتباس مطابق للمعيار

القيم التي تحوي فواصل أو علامات اقتباس أو أسطراً جديدة تُقتبَس ويُهرَّب محتواها فتبقى بنية الصفّ سليمة.

مخرجات UTF-8

النص العربي والتركي والحروف المشكولة وسائر ما هو خارج ASCII يُكتب دون تغيير.

يتحمّل المصفوفات الكبيرة

عشرات آلاف السجلات تُحوَّل دون طابور رفع.

بلا تثبيت

لا تنزيل ولا بيئة تشغيل ولا اعتماديات — يعمل على صفحة الويب نفسها.

جاهز للعربية وRTL

واجهة كاملة بثماني لغات، منها العربية من اليمين إلى اليسار.

آمن افتراضياً

يُقدَّم عبر HTTPS، بلا تتبّع للملفات وبلا رفع إلى طرف ثالث.

يعمل دون اتصال بعد التحميل

تبقى الصفحة عاملة بعد تحميل التبويب، لأن التحويل محلي.

من يستخدمها

المطوّرون

تحويل استجابة واجهة برمجية إلى ورقة يستطيع زميل غير تقني قراءتها فعلاً.

محلّلو البيانات

إيصال تصدير JSON إلى شكل يقبل الجداول المحورية والترشيح دون كتابة محلّل أولاً.

فرق الدعم

تحويل حمولة تذكرة أو سجلّ مصدَّرة إلى شيء قابل للترتيب في جدول بيانات.

موظفو العمليات

مناولة تصدير من نظام إلى المالية أو الإدارة بصيغة يستعملونها يومياً أصلاً.

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

لا. يتم التحويل بالكامل في متصفحك — بياناتك لا تُرفع أو تُخزَّن أو تُشارَك أبداً.

نعم. تُحوَّل كل صفوفك وأعمدتك بأمانة؛ يُحافَظ على البنية.

نعم — مجاني تماماً، بلا حساب أو علامة مائية أو حد لعدد الملفات.