تحويل CSV إلى JSON والعكس: كيف تتعامل مع الفواصل والاقتباسات والأصفار الأولى

person فريق سهلcalendar_today ١٤ أكتوبر ٢٠٢٦schedule 4 دقيقة قراءة
جدول بيانات يتحول إلى كائنات JSON بأقواس معقوفة

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

ما هو CSV بالضبط

CSV اختصار «قيم مفصولة بفواصل»، وهو ملف نصي بسيط: كل سطر صف، وكل صف حقول يفصل بينها فاصل، وفي الغالب فاصلة. السطر الأول عادة عناوين الأعمدة. يفتحه كل برنامج جداول، وهذا سبب انتشاره، لكن بساطته ظاهرية، فللصيغة قواعد دقيقة تتعلق بالحقول التي تحتوي على فاصلة أو اقتباس أو سطر جديد.

ما هو JSON وكيف يتحول إليه الجدول

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

تتحكم بخيار «السطر الأول عناوين الأعمدة». إن كان مفعّلاً اعتُبر أول سطر مفاتيح. وإن عطّلته فلن توجد أسماء، فتصبح كل صفوف الملف بياناتٍ وتكون النتيجة مصفوفة من المصفوفات.

القاعدة التي تكسرها أكثر التحويلات: الاقتباس

ماذا لو كان في الحقل نفسه فاصلة؟ كعنوان «الرياض، السعودية». لو تعاملت معه على أنه حقلان لتشوّه الصف. حل CSV أن يوضع الحقل بين علامتي اقتباس: "الرياض، السعودية". وماذا لو كان في الحقل علامة اقتباس؟ تُكتب مرتين: "قال ""مرحباً""". وقد يمتد الحقل المقتبس على أكثر من سطر، فسطر جديد داخل الاقتباس جزء من الحقل لا بداية صف جديد.

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

إذا قسمت CSV بـ split على الفاصلة فستفسد أول بيانات فيها فاصلة. استخدم محللاً يفهم الاقتباس.

اختيار الفاصل

الفاصلة هي الأصل، لكنها ليست الوحيدة. في كثير من الدول التي تستخدم الفاصلة علامة عشرية، كما في بعض الإعدادات الإقليمية الأوروبية، يصدّر برنامج الجداول الملف بفاصلة منقوطة. وتستخدم بعض الملفات الجدولة، ويسمى حينها TSV، أو الخط العمودي. تتيح لك الأداة اختيار الفاصل من القائمة: فاصلة، أو فاصلة منقوطة، أو جدولة، أو خط عمودي. وإن بدا الناتج عمود واحد طويلاً فجرب فاصلاً آخر، فالسبب غالباً أن الملف يستخدم غير ما افترضت.

الأرقام والأصفار الأولى

هنا مصدر خطأ صامت خطير. رمز بريدي مثل 00123 أو رقم هاتف يبدأ بصفر إن حُوّل إلى رقم صار 123، وضاع الصفر. وكذلك رقم حساب طويل قد يتحول إلى صيغة علمية في بعض البرامج. لذلك تتيح الأداة خياراً: «الأرقام وtrue/false والفراغات تتحول إلى قيم حقيقية». فعّله حين تريد أرقاماً فعلية في JSON، وعطّله حين تريد أن تبقى كل القيم نصوصاً كما كُتبت، وهو الخيار الأسلم للمعرّفات والأكواد والهواتف.

من JSON إلى CSV

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

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

  1. اختر الاتجاه: CSV إلى JSON أو JSON إلى CSV.
  2. الصق بياناتك، واختر الفاصل إن لم يكن فاصلة.
  3. حدد إن كان السطر الأول عناوين، وهل تتحول القيم إلى أرقام.
  4. اختر مسافة JSON أو التصغير، ثم انسخ الناتج أو نزّله.

سيناريو واقعي

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

أسئلة شائعة

كيف يُعامل CSV الفاصلة داخل الحقل؟

يوضع الحقل بين علامتي اقتباس. تتعرف الأداة إلى ذلك وتعيد كتابته بالطريقة نفسها عند التحويل.

ماذا لو كان الفاصل فاصلة منقوطة؟

اختر الفاصل من القائمة: فاصلة أو فاصلة منقوطة أو جدولة أو خط عمودي.

هل تبقى الأرقام أرقاماً؟

يمكنك إيقاف تحويل القيم إلى أرقام حتى لا تضيع الأصفار في بدايتها.

هل يمكنني فتح الناتج في برنامج الجداول؟

نعم. انسخ ناتج CSV أو نزّله واحفظه بامتداد csv، ثم افتحه في أي برنامج جداول. وإن ظهرت الأعمدة مجتمعة في عمود واحد فاختر فاصلاً آخر عند الاستيراد.

كم يبلغ الحد الأقصى لحجم البيانات؟

الحد هو ذاكرة متصفحك. تُعالج ملفات من آلاف الصفوف بسلاسة، أما الملفات الضخمة جداً فالأفضل معالجتها ببرنامج مخصص.

لماذا لم يُقبل JSON الذي لصقته؟

غالباً بسبب فاصلة زائدة أو علامة اقتباس مفردة أو مفتاح بلا اقتباس. تعرض الأداة موضع الخطأ لتصلحه.

هل تُرفع بياناتي إلى خادم؟

لا. كل التحويل يتم داخل متصفحك، فيمكنك استخدام بيانات حساسة.

مقالات ذات صلة