محوّل CSV و JSON

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

جارٍ تحميل الأداة…

المعالجة والخصوصية: تُحسب النتيجة داخل متصفحك ولا تُرسل بياناتك إلى أي خادم.

شاهد طريقة الاستخدام

خطوات الاستخدام

  1. الصق بيانات CSV
  2. النتيجة: JSON جاهز للنسخ والتنزيل

طريقة الاستخدام

  1. اختر الاتجاه: «CSV إلى JSON» أو «JSON إلى CSV».
  2. الصق النص أو افتح ملف CSV أو JSON أو TXT (حتى 5 ميغابايت)، أو اضغط «تحميل مثال».
  3. اضبط الخيارات: الفاصل، وهل الصف الأول عناوين، وتحويل الأرقام، وطريقة التعامل مع JSON المتداخل، وإضافة BOM.
  4. راجع الملخص والتحذيرات (عدد الصفوف والأعمدة وأرقام الصفوف التي فيها مشكلة).
  5. انسخ الناتج أو نزّله ملفًا.

مثال

الصف ⁦1002,Omar,AED,80,Dubai,"قال: ""شكرًا"""⁩ تحت العناوين ⁦order,customer,currency,amount,city,note⁩ يصبح كائنًا فيه ⁦"order": "1002"⁩ و ⁦"amount": "80"⁩ و ⁦"note": "قال: \"شكرًا\""⁩. لاحظ أن 80 بقيت نصًا لأن «تحويل الأرقام» متوقف افتراضيًا، وأن علامتي الاقتباس المضاعفتين عادتا علامة واحدة.

وفي الاتجاه المعاكس، الكائن ⁦{"id": 1001, "customer": {"name": "سارة", "city": "الرياض"}, "tags": ["سريع", "هدية"]}⁩ يتحول مع خيار «التسطيح» إلى الأعمدة ⁦id⁩ و ⁦customer.name⁩ و ⁦customer.city⁩ و ⁦tags.0⁩ و ⁦tags.1⁩، ومع خيار «نص JSON» يبقى ⁦customer⁩ في خلية واحدة تحتوي ⁦{"name":"سارة","city":"الرياض"}⁩.

الحدود والملاحظات

  • الحد الأقصى 5 ميغابايت للملف أو النص. قِسنا في Chromium على حاسوب مكتبي ملف CSV حجمه 5 ميغابايت (نحو 70 ألف صف) فاستغرق التحويل والعرض نحو 4 ثوانٍ. ما يزيد على 200 ألف حرف يُعالَج من الذاكرة ويُعرض منه أول 200 ألف حرف فقط، أما النسخ والتنزيل فيشملان الناتج كاملًا.
  • تُقرأ الملفات بترميز UTF-8 افتراضيًا. إذا لم يكن الملف UTF-8 فسترى رسالة بذلك بدل حروف مشوّهة، ويمكنك اختيار Windows-1256 لملفات Excel العربية القديمة. لا تُكتشف الترميزات الأخرى تلقائيًا.
  • JSON إلى CSV يقبل: مصفوفة كائنات، أو مصفوفة مصفوفات، أو مصفوفة قيم بسيطة، أو كائنًا واحدًا. المصفوفات التي تخلط بين هذه الأنواع تُرفض مع رقم العنصر المخالف.
  • عند التسطيح تُكتب المصفوفات بأرقام مواضعها (⁦tags.0⁩ و ⁦tags.1⁩)، لذلك قد يكثر عدد الأعمدة إذا اختلفت أطوال المصفوفات. وإذا وُجد مفتاح يحتوي نقطة مثل ⁦"a.b"⁩ مع كائن متداخل ⁦a⁩ فيه ⁦b⁩ فسيتشاركان العمود نفسه.
  • القيم null والمفاتيح الغائبة تصبح خلايا فارغة في CSV، ولا يمكن التفريق بينهما بعد التحويل. CSV لا يحفظ أنواع البيانات.
  • الأسطر الفارغة تمامًا في CSV تُتجاهل. والصف الذي يحتوي حقولًا زائدة عن العناوين تُحفظ حقوله الزائدة تحت المفتاح ⁦__parsed_extra⁩ مع تحذير.
  • خيار «تحويل الأرقام» يحوّل ⁦00123⁩ إلى ⁦123⁩ ويفقد الأصفار البادئة، لذلك اتركه متوقفًا مع أرقام الجوال والرموز البريدية ورموز المنتجات.
  • في خانتي النص قد يبدو ترتيب الأجزاء في السطر الذي يجمع العربية مع الأرقام معكوسًا على الشاشة، وهذا سلوك عرض النصوص ثنائية الاتجاه في المتصفح. البيانات نفسها محفوظة بترتيبها الصحيح في النسخ والتنزيل.

أسئلة شائعة عن هذه الأداة

لماذا تظهر العربية رموزًا غريبة عند فتح CSV في Excel؟

لأن Excel يفترض ترميزًا قديمًا ما لم يجد علامة BOM في أول الملف. فعّل خيار «إضافة UTF-8 BOM» (مفعّل افتراضيًا) فتُضاف ثلاثة بايتات ⁦EF BB BF⁩ في بداية الملف المنزَّل ويقرأ Excel العربية بشكل صحيح. البرامج التي لا تتوقع BOM قد تعدّه جزءًا من أول عنوان، فأوقف الخيار إن كان الملف سيُقرأ ببرنامج آخر.

ما الفرق بين «التسطيح» و«نص JSON» للقيم المتداخلة؟

التسطيح يفتح الكائنات والمصفوفات المتداخلة إلى أعمدة بأسماء مثل ⁦customer.city⁩ و ⁦tags.0⁩، وهو مناسب للجداول. خيار «نص JSON» يكتب القيمة المتداخلة كما هي نصًّا داخل خلية واحدة، وهو مناسب إذا أردت استعادتها لاحقًا دون فقد بنيتها.

كيف تُحسب أرقام الصفوف في رسائل الخطأ؟

تُعدّ السجلات بدءًا من 1 ويُحسب صف العناوين صفًا. السطر المكسور داخل علامتي اقتباس لا يبدأ صفًا جديدًا، لذلك قد يختلف رقم الصف عن رقم السطر في محرر النصوص.

كيف أحول ملف JSON إلى CSV وأفتحه في Excel؟

اختر «JSON إلى CSV»، والصق النص أو افتح الملف، ثم نزّل الناتج مع إبقاء خيار «إضافة UTF-8 BOM» مفعّلًا ليقرأ Excel العربية بشكل صحيح. فالمصفوفة ⁦[{"name":"سارة","city":"الرياض"}]⁩ تصبح عمودين name وcity وصفًا واحدًا هو ⁦سارة,الرياض⁩. أما الكائنات المتداخلة فتُفتح إلى أعمدة منقّطة مثل ⁦customer.city⁩ بالخيار الافتراضي «التسطيح».

كيف أحول CSV إلى JSON مع تحويل الأرقام إلى أعداد؟

اختر «CSV إلى JSON» وفعّل خيار «تحويل الأرقام وقيم true وfalse إلى قيم JSON»، فتصبح القيمة ⁦"80"⁩ العدد ⁦80⁩. الخيار متوقف افتراضيًا لأنه يحذف الأصفار البادئة فيصبح ⁦00123⁩ هو ⁦123⁩، وهذا يفسد أرقام الجوال والرموز البريدية. ويُكتشف الفاصل تلقائيًا، أو اختره بنفسك: فاصلة أو فاصلة منقوطة أو Tab أو خط عمودي.