CSV إلى JSON

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

تتم المعالجة على جهازك — بلا رفع

termiva csv2json data.csv
0 حرفًا
الفاصل
قراءة الملف

كشف الأنواع حذر عمدًا: 007 و +44 7700 تبقيان سلسلتين، لأن الصفر البادئ أو علامة الجمع تعني معرّفًا لا عددًا.

0 حرفًا
صفوف لا شيء مرفوع

كيف تحوّل CSV إلى JSON

  1. الصق ملف CSV عندك أو اختر ملفًّا.
  2. افحص الفاصل المكتشَف وقرّر كيف تُعطى القيم أنواعها.
  3. انسخ JSON، أو نزّله.

كيف يعمل

يبدو CSV أبسط صيغة موجودة وهو ليس كذلك. فالحقل قد يحوي الفاصل إن كان بين علامتَي اقتباس، وعلامة اقتباس إن ضُوعفت، وسطرًا جديدًا إن كان داخل الاقتباس. والمحلّل هنا يتّبع معيار RFC 4180 اتّباعًا سليمًا، ولهذا تبقى "Haddad, Sara" حقلًا واحدًا بدل أن تصير حقلين.

والفاصل يُكتشف لا يُفترض، بعدّ المرشّحين خارج المقاطع المقتبَسة. فتصدير أوروبي مفصول بالفاصلة المنقوطة تحوي حقوله النصّية فواصل عادية كان سيُقرأ مفصولًا بالفواصل فيمزّق كل صفّ.

وكشف الأنواع حذر عمدًا. فتحويل "007" إلى 7 يدمّر معرّفًا، و"1.2.3" إصدار لا رقم. ولا يُحوَّل إلا ما ينجو من رحلة ذهاب وعودة — يُحلَّل عددًا، ويُطبع رجوعًا إلى النص نفسه بالضبط. وكل ما عداه يبقى سلسلة.

وتُنزع علامة ترتيب البايتات في أول الملف أولًا. فتركها يجعلها جزءًا غير مرئي من اسم العمود الأول، فيكفّ id في صمت عن مطابقة id.

مثال عملي

تصدّر 4000 عميل من نظام إدارة علاقات وتحتاجهم بصيغة JSON لنصّ استيراد. اضغط حمّل ملف CSV للتجربة لترى شكل المشكلة مصغَّرًا.

في العيّنة "Haddad, Sara" — حقل مقتبَس فيه فاصلة. وفي المخرجات هو قيمة name واحدة. أما التقسيم الساذج عند الفواصل فكان سينتج صفًّا فيه حقل زائد ويزيح كل قيمة تالية عمودًا إلى اليسار، وهو الإخفاق الذي يحوّل عنوان بريد إلى مدينة.

انظر إلى قيم id: تبقى "001" سلسلة في JSON. أطفئ كشف الأنواع فيصير كل شيء سلسلة؛ وشغّله فيصير orders عددًا وactive قيمة منطقية، بينما يُترك المعرّف المحشوّ بالأصفار وشأنه. وذلك التمييز هو الفرق بين استيراد يعمل وآخر يعيد ترقيم سجلّاتك في صمت.

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

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

أسئلة

أي شكل تأخذه المخرجات لواجهة برمجية؟

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

هل تُرفع بياناتي؟

لا. يجري التحليل في متصفّحك ولا خادم خلفي لهذا الموقع. وهذا يهمّ هنا أكثر من معظم الأدوات، لأن تصدير CSV يكون عادةً عملاء أو طلبات أو موظّفين.

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

تعاملًا صحيحًا، ما دام الحقل مقتبَسًا — وهو ما يفعله أي ملف CSV سليم البناء. فتبقى "Haddad, Sara" حقلًا واحدًا بدل أن تنقسم إلى حقلين.

لماذا احتفظ معرّفي بأصفاره البادئة؟

لأن كشف الأنواع حذر بتصميمه. فالصفر البادئ يعني معرّفًا، فتبقى 007 هي "007". وتحويلها إلى 7 كان سيُفسد بياناتك في صمت.

ماذا لو كان ملفّي يستعمل الفاصلة المنقوطة؟

تُكتشف تلقائيًا، بعدّ الفواصل خارج المقاطع المقتبَسة. ويمكنك أيضًا ضبطها صراحةً إن خمّن الكشف خطأً.

هل يتحمّل سطرًا جديدًا داخل حقل؟

نعم. فالسطر الجديد داخل حقل مقتبَس جزء من القيمة لا نهاية الصفّ، وتنجو العناوين والملاحظات متعدّدة الأسطر سليمة.

ماذا يحدث للصفوف ذات عدد الأعمدة الخاطئ؟

تصير القيم الناقصة فارغة وتُسقَط الزائدة عند ربطها بمفاتيح الكائن. ومنظّف CSV سيعرض لك أي الصفوف مهلهل.

هل هناك حدّ للحجم؟

لا حدّ ثابت. يُحفظ الملف كله في الذاكرة، فعشرات الميغابايتات مقبولة على حاسوب محمول وقد يتعثّر تصدير ضخم جدًّا على هاتف.

لماذا اسم عمودي الأول خاطئ قليلًا؟

علامة ترتيب البايتات عادةً، وهذه الأداة تنزعها. فإن بقي الاسم غريبًا، فافحص المسافات اللاحقة — ومنظّف CSV يحذفها.

هل أحوّل ملف CSV بدل لصق النص؟

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

هل CSV إلى JSON مجاني على الإنترنت؟

نعم — مجاني، بلا حساب، وبلا حد يومي، وبلا علامة مائية. يعمل في متصفّحك عبر الإنترنت، ولأن المعالجة تجري على جهازك فإنه يستمر في العمل دون اتصال بعد تحميل الصفحة.

للقراءة