CSV إلى JSON
حوّل بيانات CSV وTSV إلى JSON، مع معاملة صحيحة للحقول بعلامات اقتباس والفواصل المُضمَّنة والأسطر الجديدة. استنتاج الأنواع الاختياري يحوّل الأرقام والقيم المنطقية إلى قيم JSON حقيقية.
- الملفات لا تغادر جهازك أبدًا
- مجاني، بدون تسجيل
- بدون علامات مائية
- يعمل دون اتصال بعد التحميل
كيفية استخدام CSV إلى JSON
- 1
ألصق CSV الخاص بك
الصق مباشرة من جدول بيانات، أو اكتبه.
- 2
حدّد الخيارات
اختر فاصلًا، وما إذا كان الصف الأول ترويسة، وما إذا كانت الأنواع تُستنتَج.
- 3
انسخ JSON
انسخ النتيجة أو نزّلها كملف .json.
لماذا يُفسد التقسيم بالفواصل CSV الحقيقي
يبدو CSV تافهًا في التحليل — تقسيم كل سطر بالفواصل، معاملة السطر الأول كترويسات — حتى تحتوي قيمة في البيانات الحقيقية فاصلة خاصة بها، وهذا يحدث باستمرار مع تصديرات جداول بيانات حقيقية: عنوان مثل "123 Main St, Apt 4"، اسم شركة مثل "Smith, Jones & Co"، أو وصف منتج يحتوي قائمة. تتعامل مواصفات CSV، المُقنَّنة كـRFC 4180، مع هذا بالسماح لحقل بالإحاطة بعلامات اقتباس مزدوجة، حيث الفواصل والأسطر الجديدة وحتى أحرف علامة الاقتباس الحرفية (مهروبة بتكرارها) هي ببساطة بيانات لا بنية. مُحلِّل يقسّم بسذاجة بكل فاصلة، متجاهلًا علامات الاقتباس تمامًا، يُفسد بالضبط تلك الصفوف — يُقسِّم "Smith, Jones & Co" إلى عمودين منفصلين — وعادةً يفعل ذلك بصمت، دون أي خطأ يُشير إلى أن شيئًا خطأ حدث، وهذا ما يجعل هذا الخطأ خطيرًا لا مجرد مزعج.
التحليل الصحيح الواعي بعلامات الاقتباس يتتبع ما إذا كان القارئ داخل حقل بعلامات اقتباس حاليًا ويتجاهل أحرف الفاصل والسطر الجديد حتى الوصول إلى علامة الاقتباس الختامية، وهذه الطريقة الوحيدة لإعادة بناء بشكل صحيح حقول تحتوي شرعيًا أحرفًا كانت ستُخلَط بخلاف ذلك مع بنية.
ما يُصيبه استنتاج الأنواع وأين يتحفظ عمدًا
كل قيمة في ملف CSV خام هي نص، بما أن CSV ليس له أي مفهوم أصلي لرقم أو قيمة منطقية أو قيمة فارغة — خلية تحتوي `42` وخلية تحتوي `hello` تُخزَّنان بشكل متطابق كأحرف. استنتاج الأنواع هو عملية تخمين أي السلاسل كانت "فعليًا" مقصودة كأرقام أو قيم صح/خطأ أو قيم فارغة، وتحويلها وفقًا لذلك حتى يحتوي JSON الناتج قيمًا ذات أنواع حقيقية بدلًا من أن يكون كل شيء ملفوفًا بعلامات اقتباس كسلسلة.
مع ذلك، يجب أن يكون التخمين متحفظًا، لأن الكثير من القيم التي تبدو رقمية ليست مقصودة كأرقام على الإطلاق. صفر بادئ — `007`، `042` — عادةً يُشير إلى معرِّف أو رمز محشو حيث الصفر البادئ مهم وسيُتلف بصمت عند تحويله إلى رقم، بما أن `7` و`007` نفس الرقم لكن معرِّفان مختلفان جدًا. رقم هاتف مثل `+44 20 7946 0958` يبدو رقميًا جزئيًا لكنه ليس بيانات حسابية. القيم التي تتجاوز نطاق العدد الصحيح الآمن في JavaScript تفقد الدقة إذا حُوِّلت إلى رقم على الإطلاق. تترك هذه الأداة كل تلك كسلاسل تحديدًا لأن التخمين الخاطئ هنا يعني إتلاف بيانات بصمت بطريقة يسهل تفويتها حتى وقت لاحق.
لماذا تحتاج ترويسات الأعمدة المكررة والفارغة معاملة خاصة
لا يمكن لكائن JSON أن يحمل مفتاحين بنفس الاسم — الثاني المُوجَد يُلغي ببساطة الأول، مُهملًا بصمت قيمة عمود كامل دون رفع أي خطأ في أي مكان. تُنتج تصديرات جداول البيانات ترويسات مكررة أكثر مما يبدو محتملًا: تقرير بعمودي "الإجمالي" بنطاقين مختلفين، أو تصدير مدمج من مصدرين يتضح أن كليهما يستخدم "الاسم". اكتشاف المكررات وإعادة تسمية الظهور الثاني إلى `name_2` يحفظ بيانات كل عمود بدلًا من فقدان بصمت أي واحد يتضح أنه ظهر أولًا في كائن الصف. تُعامَل الترويسات الفارغة بنفس الطريقة لنفس السبب، بما أن JSON ليس له طريقة لتمثيل مفتاح هو ببساطة سلسلة فارغة كحقل ذي معنى وقابل للعنونة.
الأسئلة الشائعة
هل يتعامل مع الفواصل داخل الحقول بعلامات اقتباس؟
نعم. يتبع المُحلِّل بشكل صحيح RFC 4180: يمكن للحقول بعلامات اقتباس احتواء فواصل وأسطر جديدة وعلامات اقتباس مهروبة (مكتوبة كـ""). أدوات تقسّم بالفواصل تُفسد بالضبط هذا النوع من البيانات، عادةً دون أي خطأ.
ماذا يفعل استنتاج الأنواع بالأصفار البادئة؟
يتركها سليمة. `007` و`+44` والقيم التي تتجاوز نطاق العدد الصحيح الآمن في JavaScript تبقى كسلاسل نصية، لأنها تقريبًا دائمًا معرِّفات أو أرقام هواتف أو رموز بريدية — تحويلها إلى أرقام سيُتلف البيانات بصمت. تُحوَّل فقط الأرقام والقيم المنطقية والقيم الفارغة دون لبس.
ماذا عن أسماء الأعمدة المكررة؟
تصبح فريدة — عمود ثانٍ باسم `name` يصبح `name_2` — لأن مفتاحين متطابقين في كائن JSON سيُلغيان أحدهما الآخر بصمت. تصبح الترويسات الفارغة `column_1` و`column_2` وهكذا.
هل يمكنني تحويل ملف Excel مباشرة؟
ليس بعد — احفظه أو صدّره أولًا كـCSV (ملف ← حفظ باسم ← CSV في Excel وGoogle Sheets). لاحظ أن تثبيتات Excel الأوروبية غالبًا تستخدم فاصلة منقوطة كفاصل؛ غيّر خيار الفاصل إذا خرجت أعمدتك مدمجة.
هل تُرفع بياناتي؟
لا. يعمل التحليل بالكامل في متصفحك، وهذا مهم لأن تصديرات CSV غالبًا تحتوي بالضبط بيانات عملاء أو مالية أو موظفين لا يجب لصقها في خادم شخص آخر.