محوّل CSV إلى JSON

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

يضيف علامة فاصلة عليا (') قبل النص الذي يبدأ بـ =, +, - أو @، كي لا يشغّله Excel كصيغة.

ما الذي تفعله


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

طريقة الاستعمال


  1. الصق CSV أو JSON، أو افتح ملفاً.
  2. راجع الخيارات: الفاصل، وصف العناوين، وأنواع البيانات.
  3. حوّل في الاتجاه الذي تحتاجه، ثم انسخ النتيجة أو نزّلها.

الأسئلة الشائعة


لماذا بقيت الرموز البريدية والمعرّفات نصاً؟
لأن تحويلها إلى أرقام سيغيّرها. فـ 007 ستصبح 7، والمعرّف الأطول من 16 رقماً سيقرّبه JavaScript بصمت إلى رقم مختلف. لا تصبح أرقاماً إلا القيم التي تنجو من التحويل ذهاباً وإياباً دون تغيير؛ أوقف تحويل الأنواع لإبقاء كل شيء نصاً.

ملف CSV جاء من Excel وانتهى كل شيء في عمود واحد.
على الأرجح حُفظ بفاصلة منقوطة وقُرئ بفاصلة. اترك الفاصل على الاكتشاف التلقائي، الذي يفحص الفواصل الأربعة الشائعة، أو اختر الفاصلة المنقوطة بنفسك.

لماذا تبقى الأعداد العشرية مثل 4,50 نصاً؟
في ملف مفصول بفاصلة منقوطة، 4,50 على الأرجح أربعة ونصف، لكن 1,500 قد تكون واحداً ونصفاً أو ألفاً وخمسمئة، والتخمين سيغيّر القيم دون تحذير. حوّلها في برنامجك الخاص، حيث تعرف أيّهما المقصود.

كيف تتحوّل الكائنات المتداخلة إلى أعمدة؟
عند تفعيل التسطيح، يصبح {"address": {"city": "Recife"}} عموداً اسمه address.city. أما القوائم، والكائنات عند إيقاف التسطيح، فتُكتب كنص JSON داخل الخلية، فلا يضيع شيء.

لماذا الحماية من الصيغ؟
تعامل برامج جداول البيانات الخلية التي تبدأ بـ =, +, - أو @ كصيغة، والصيغة قد تجلب بيانات من الإنترنت أو تشغّل أوامر. إذا جاءت البيانات من مستخدمين أو من موقع ويب، ففعّل الحماية قبل فتح الملف في Excel. الأرقام السالبة الحقيقية تبقى كما هي.

RFC 4180 — CSV
Wikipedia — Comma-separated values
OWASP — CSV Injection