الانتقال إلى المحتوى الرئيسي

تحويل CSV إلى JSON

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

مثال تطبيقي

المدخلات (CSV)
id,name,item,price,paid
1,"Smith, Jane","Monitor 27""",189.99,true
2,Kim,Keyboard,,false
المخرجات (JSON)
[
  {
    "id": 1,
    "name": "Smith, Jane",
    "item": "Monitor 27\"",
    "price": 189.99,
    "paid": true
  },
  {
    "id": 2,
    "name": "Kim",
    "item": "Keyboard",
    "price": null,
    "paid": false
  }
]

لأن "Smith, Jane" محاطة بعلامتي اقتباس مزدوجتين، تبقى الفاصلة داخل القيمة بدلًا من أن تبدأ عمودًا جديدًا. وفي "Monitor 27""" تتحول علامتا الاقتباس المتتاليتان إلى علامة اقتباس حرفية واحدة. تصبح قيمة price الفارغة لدى Kim هي null، وتخرج الأرقام وقيم true/false كأنواع JSON لا كنصوص.

كيف يتعامل المحوّل مع ذلك

  • كل سطر غير فارغ هو سجل واحد، ويتم تخطي الأسطر الفارغة. لا يمكن أن تحتوي القيمة المقتبسة على فاصل أسطر.
  • ضع القيمة بين علامتي اقتباس مزدوجتين إذا كانت تحتوي على المحدد. وداخل علامات الاقتباس، اكتب علامة الاقتباس مرتين ("").
  • تُزال المسافات من بداية كل قيمة ونهايتها.
  • عند تفعيل “الصف الأول كرؤوس” يوفّر السطر الأول المفاتيح؛ وعند إيقافه تكون المفاتيح col0، col1، col2 وهكذا.
  • تصبح الخلايا الفارغة وكلمة null قيمة null، وتصبح true وfalse (بأي حالة أحرف) قيمًا منطقية، ويصبح النص الرقمي رقمًا حتى لو كان مقتبسًا، لذا تصبح 00123 هي 123.
  • الصفوف التي تحتوي على قيم أقل من عدد الرؤوس تحصل على null في الأعمدة الناقصة؛ أما القيم التي تتجاوز آخر رأس فتُحذف.

مزيد من أدلة التحويل