§

الصق CSV الذي تريد تحويله إلى JSON.

الفاصل
الصف الأول هو الرأس
تحويل الأنواع
§

Output

json

في المملكة العربية السعودية تصدر بوابة البيانات الوطنية data.gov.sa وهيئة الإحصاء العامة GASTAT مجموعات بيانات إحصائية ضخمة بصيغة CSV، فيما تنشر مؤسسة النقد العربي السعودي ساما سلاسلها الزمنية المالية ومؤشرات تداول بنفس الصيغة، ويحتاج المحللون إلى تحويلها إلى JSON قبل ابتلاعها في Snowflake أو BigQuery. كذلك تنشر مركز البيانات الإماراتي bayanat.ae والهيئة الاتحادية للضرائب جداول CSV لضريبة القيمة المضافة، بينما يصدر جهاز CAPMAS المصري بياناته السكانية في CSV قبل أن يعيد مهندسو الفنتك تشكيلها إلى JSON لواجهات Open Banking المحلية. يتيح هذا المحول إجراء التحليل محلياً، فلا تغادر سجلات العملاء أو الفواتير جهازك أبداً.

ما هو تحويل CSV إلى JSON؟

CSV (قيم مفصولة بفواصل، RFC 4180) صيغة نصية جدولية مسطّحة؛ JSON (JavaScript Object Notation، RFC 8259) صيغة نصية شجرية الشكل للبيانات المنظمة. تحويل CSV إلى JSON يحوّل جدولاً ملائماً لجداول البيانات إلى مصفوفة كائنات ملائمة لواجهات API — كائن واحد لكل صف، مع صف الرأس كمفاتيح — دون إعادة كتابة خلية واحدة.

كيف يعمل تحويل CSV إلى JSON؟

كل تحويل يجري محلياً داخل متصفحك. الخطوات الرئيسية هي:

  1. تلصق CSV في حقل الإدخال وتضغط تحويل؛ تُحلِّل الأداة النص وتُنتج مصفوفة JSON من الكائنات في حقل الإخراج.
  2. آلة حالة تعمل حرفاً حرفاً (FIELD_START → IN_UNQUOTED_FIELD أو IN_QUOTED_FIELD) تجوب المدخل، وتحترم هروب علامة الاقتباس المزدوجة ""، وتتعرّف على نهايات الصفوف \r\n و \n، وتنتج مصفوفة سلاسل ثنائية الأبعاد كتمثيل وسيط.
  3. إذا كان الصف الأول هو الرأس فتصبح خلاياه مفاتيح الكائنات؛ وإلا تولِّد الأداة مفاتيح اصطناعية field0، field1، … لكي يُرسم كل صف على كائن مكتمل.
  4. الفاصل (فاصلة، فاصلة منقوطة، علامة جدولة، شرطة عمودية، أو اكتشاف تلقائي) وتحويل الأنواع (أرقام / قيم منطقية / null) كلها قابلة للتكوين. مع تفعيل التحويل يصبح 30 الرقم 30 و true قيمة منطقية؛ وبدونه تبقى كل خلية سلسلة نصية.
  5. تُكتب النتيجة في حقل نصي للقراءة فقط كنص منسَّق بـ JSON.stringify، ويبني رابط التنزيل Blob بنوع MIME ‏application/json;charset=utf-8 لتحفظ الناتج بنقرة واحدة.

لماذا تحوّل CSV إلى JSON بهذه الأداة؟

  • الخصوصية: كل عملية تحليل وتحويل تجري داخل متصفحك. لا تصل البيانات إلى خوادمنا أبداً.
  • صحة التحليل: محلل CSV هو آلة حالة حقيقية. الحقول التي تحوي فواصل مقتبسة ("Bob, Jr.") أو أسطراً جديدة مدمجة أو علامات اقتباس مهروبة تُحلَّل إلى خلية واحدة لا ثلاث — تنفيذات split(',') الساذجة تخطئ هنا.
  • أمانة الأنواع: يحوِّل التحويل الاختياري الخلايا الرقمية والمنطقية إلى أرقام وقيم منطقية JSON حقيقية، فتكون المصفوفة جاهزة للاستهلاك مباشرة دون تنظيف ثانٍ.
  • مرونة: اختر أي فاصل لـ CSV غير المعتاد، وحدد ما إذا كان الصف الأول رأساً، وفعّل تحويل الأنواع أو عطّله للحالات التي يجب أن تبقى فيها كل خلية كسلسلة نصية.

ما هي التطبيقات الشائعة لتحويل CSV إلى JSON؟

تحليل CSV إلى JSON يظهر في عمل البيانات والأدوات:

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

كيف يبدو مثال تحويل CSV إلى JSON؟

لصق name,age في السطر الأول، و Alice,30 في الثاني، و "Bob, Jr.",25 في الثالث، ثم الضغط على تحويل مع فاصل الفاصلة والصف الأول كمفاتيح وتحويل الأنواع مفعَّلاً، يُنتج [{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}] — تبقى الفاصلة المُقتبسة في "Bob, Jr." داخل حقل واحد، وتصبح الأعمار أرقام JSON حقيقية.

هل يعمل محول CSV إلى JSON هذا داخل متصفحي بالكامل؟

نعم. كل عمليات التحليل والتحويل تجري محلياً كجافاسكربت داخل تبويب المتصفح. لا تستدعي الأداة fetch أو XMLHttpRequest أو navigator.sendBeacon إطلاقاً — حمولات CSV لا تصل أبداً إلى خوادمنا ولا إلى محوّل طرف ثالث ولا إلى أي خط أنابيب تحليلات. كما تعمل الأداة دون اتصال بمجرد تحميل الصفحة، لأنها حزمة ثابتة من HTML/CSS/JS بدون أي اعتماد API وقت التشغيل.

ما الحد الأقصى لحجم المدخلات الذي يستطيع المحول التعامل معه؟

يحتفظ المحول بكامل المدخل في الذاكرة ويعمل بشكل متزامن على الخيط الرئيسي، فتعتمد الحدود العملية على جهازك. المدخلات حتى نحو 10 ميغابايت من CSV (نحو 100 ألف صف نموذجي) تتحوّل دون توقف ملحوظ على حاسب محمول حديث. بعد ذلك قد تتوقف الواجهة أثناء عمل المحلل. التحويل المتدفق عبر Web Worker مع محلل مقطّع تطوير لاحق مخطط له — حالياً قسِّم المجموعات الكبيرة جداً قبل لصقها.

كيف يتعامل محلل CSV إلى JSON مع الفواصل المقتبسة والأسطر الجديدة المضمَّنة؟

المحلل آلة حالة تعمل حرفاً حرفاً بثلاث حالات (FIELD_START, IN_UNQUOTED_FIELD, IN_QUOTED_FIELD) — وليس split(',') ساذجاً. الحقل الموضوع داخل علامتي اقتباس مزدوجتين يمكنه أن يحوي الفاصل أو CR أو LF أو علامة اقتباس مزدوجة حرفية مهروبة كـ ""، دون كسر حدود الحقل. لذا "Bob, Jr.",25 يُحلَّل إلى حقلين لا ثلاثة، ووصف متعدد الأسطر مقتبس عبر صفوف يُحلَّل إلى خلية واحدة.

كيف تُكتب الأرقام والقيم المنطقية والخلايا الفارغة في مخرجات JSON؟

يتحكم في الكتابة مفتاح تحويل الأنواع. مع التحويل مفعَّلاً (الافتراضي) تصبح الخلية التي تبدو رقماً رقماً في JSON، و true/false قيمتين منطقيتين، والقيمة الحرفية null تصبح null في JSON؛ وكل ما عدا ذلك يبقى سلسلة نصية. مع التحويل معطَّلاً تُحفظ كل قيمة كسلسلة نصية بصرف النظر عن محتواها — مفيد عندما يجب الإبقاء على الأصفار البادئة أو أرقام الهواتف أو رموز المعرِّفات. الخلايا الخاوية في الصفوف القصيرة تُصدَر كسلاسل فارغة لكي يحتوي كل كائن على مجموعة المفاتيح الكاملة.

ما الفواصل التي يدعمها المحول؟

أربعة فواصل صريحة مدعومة: الفاصلة (, وهي افتراضي RFC 4180)، الفاصلة المنقوطة (; الشائعة في اللغات الأوروبية)، علامة الجدولة (\t صيغة TSV)، والشرطة العمودية (|). يمكنك أيضاً اختيار الاكتشاف التلقائي، الذي يحصي ظهور كل مرشّح في أول 4 كيلوبايت من المدخل خارج المناطق المقتبسة ويختار الأكثر تكراراً الذي يعطي عدد أعمدة متسقاً عبر أول خمسة صفوف.

يحلّل محول CSV إلى JSON هذا بآلة حالة حقيقية ويُنتج JSON نظيفاً جاهزاً للاستهلاك يمكنك لصقه مباشرة في استدعاء API أو سكريبت أو مراجعة كود — بدون رفع بايت واحد.