تخطَّ إلى المحتوى

أداة تحويل CSV إلى JSON

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

الاتجاه

كيفية استخدام أداة تحويل CSV إلى JSON

  1. 1. اختر الاتجاه. CSV → JSON هو الافتراضي؛ أما JSON → CSV فيتوقع مصفوفة JSON من كائنات مسطَّحة.
  2. 2. اضبط الخيارات. يمكن اكتشاف الفاصل تلقائيًا أو تثبيته على الفاصلة أو الفاصلة المنقوطة أو مسافة الجدولة؛ وفي اتجاه JSON → CSV يكتب الاكتشاف التلقائي فواصل. أما في CSV → JSON فتختار أيضًا إزاحة من مسافتين أو 4 مسافات أو مسافة جدولة، وما إذا كان الصف الأول يحتوي على رؤوس.
  3. 3. الصق وحوِّل. اضغط تحويل. تظهر المشكلات — علامة اقتباس غير مغلقة، أو JSON غير صالح، أو مصفوفة لا تتكون من كائنات — كرسالة بدلًا من الناتج.
  4. 4. انسخ أو نزِّل. نسخ النتيجة ينسخ الناتج؛ وزر التنزيل يحفظه بصيغة data.json أو data.csv.

كيف تُقرأ ملفات CSV

يبدو CSV بسيطًا وليس كذلك: قد يستخدم الملف نفسه الفواصل أو الفواصل المنقوطة أو مسافات الجدولة، وقد يحتوي حقل على الحرف نفسه الذي يفصل بين الحقول. أقرب ما يشبه المواصفة هو RFC 4180، وهي وثيقة معلوماتية وليست معيارًا. تنص على أن الحقل الذي يحتوي على فاصلة أو علامة اقتباس مزدوجة أو فاصل سطر يجب أن يُحاط بعلامتي اقتباس مزدوجتين، وأن علامة الاقتباس المزدوجة داخل هذا الحقل تُكتب مرتين. يتبع المحوِّل هذه القواعد ويضيف بعض التساهل:

  • الحقول المُنصَّصة. الحقل الذي يبدأ بعلامة اقتباس مزدوجة يمتد حتى علامة الإغلاق، فيمكن أن يحتوي على الفواصل وفواصل الأسطر و"" لعلامة اقتباس حرفية. علامة الاقتباس التي لا تُغلق توقف التحويل وتذكر السطر الذي بدأ فيه الحقل.
  • نهايات الأسطر. تُنهي LF وCRLF وCR المفردة الصف، وتُتخطى الأسطر الفارغة.
  • اكتشاف الفاصل. في الوضع التلقائي ينظر المحوِّل إلى السطر الأول فقط، ويختار الفاصل الأكثر ظهورًا بين الفاصلة والفاصلة المنقوطة ومسافة الجدولة؛ والتعادل لصالح الفاصلة. إذا كان السطر الأول غير معتاد — عمود واحد مثلًا، أو سطر عنوان — فاختر الفاصل بنفسك. ينص RFC 4180 على الفاصلة وحدها؛ والفاصلة المنقوطة شائعة في الملفات المُصدَّرة من جداول بيانات مضبوطة على لغات أوروبية.
  • كل شيء نص. لا يخمّن المحوِّل الأنواع، فتصبح 2020 النص "2020" وليس رقمًا، وتصبح الخانة الفارغة "" وليس null. حوِّل الأنواع لاحقًا إن احتاج كودك إليها.

مثال تطبيقي

الرؤوس

name,note,year

الصف 1

"Smith, Jane","Said ""hello""",2020

الصف 2

Lee,short

الناتج

كائنان. Smith, Jane لها الملاحظة Said "hello" والسنة "2020"؛ وLee لها الملاحظة short والسنة "".

الفاصلة داخل Smith, Jane تبقى في خانة واحدة بسبب علامات الاقتباس، وتتحول علامات الاقتباس المزدوجة المكررة إلى واحدة. صف Lee ينقصه خلية، فتصبح السنة الناقصة سلسلة فارغة؛ أما الصف الذي فيه خلايا زائدة فتفقد الزائد، لأنه لا يوجد رأس يسميها. ألغِ تحديد السطر الأول رؤوس أعمدة فيصبح الإدخال نفسه مصفوفة من المصفوفات — [["name","note","year"],…] — مع بقاء الصفوف القصيرة قصيرة.

أسماء الأعمدة المكررة تتصادم: إذا كان لديك عمودان باسم id، فإن العمود الأخير يفوز ويضيع الأول، لذا أعد تسمية أحدهما أولًا.

العودة: من JSON إلى CSV

يتوقع الاتجاه العكسي مصفوفة في المستوى الأعلى تكون عناصرها كلها كائنات. صف الرؤوس هو اتحاد كل المفاتيح بترتيب ظهورها الأول، فتبقى الكائنات ذات المفاتيح المختلفة متراصة، وتُترك القيمة الناقصة فارغة. تُكتب الأرقام والقيم المنطقية كما تظهر، ويصبح null خلية فارغة، وتُكتب أي مصفوفة أو كائن متداخل داخل خليته كنص JSON ويُوضع بين علامتي اقتباس. إذا كانت بياناتك متداخلة فسطِّحها أولًا. تُحاط الخلايا التي تحتوي على الفاصل أو علامة اقتباس أو فاصل سطر بعلامتي اقتباس، مع مضاعفة علامات الاقتباس، وتُوصَل الصفوف بفواصل أسطر عادية.

عند تطبيقها على [{"name":"Smith, Jane","year":2020,"tags":["a","b"]},{"name":"Doe","note":"two\nlines","year":null}]، يكتب المحوِّل الرأس name,year,tags,note، وصفًا أول فيه "Smith, Jane" و2020 والنص المُنصَّص ["a","b"]، وصفًا ثانيًا لـ Doe تكون فيه السنة والوسوم فارغة، والملاحظة هي النص المُنصَّص المكون من سطرين.

أي أداة تحتاج؟

تريد أناستخدم
تحوِّل بين CSV ومصفوفة JSONهذه الصفحة
ترى CSV كجدول لنسخه بصيغة HTMLCSV إلى جدول
تصنع جدول Markdown من CSVمولّد جداول Markdown
تحتفظ ببعض أعمدة CSV فقطColumn Extractor
تتحقق من JSON نفسه أو تعيد تنسيقهأداة تنسيق JSON
تحوِّل YAML أو XML من JSON وإليهYAML to JSON، XML to JSON
تُنسّق CSV لورقة بحثيةLaTeX Table Generator، APA Table Generator

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

كيف أحوِّل CSV إلى JSON؟
الصق CSV في المربع، واترك CSV → JSON مختارًا، واضغط تحويل. مع تفعيل السطر الأول رؤوس أعمدة تحصل على مصفوفة من كائنات مفاتيحها أسماء الرؤوس؛ وبدون ذلك تحصل على مصفوفة من المصفوفات. انسخ الناتج أو نزّله بصيغة data.json.
هل تتعامل الأداة مع الحقول المُنصَّصة التي تحتوي على فواصل أو فواصل أسطر؟
نعم. يمكن أن يحتوي الحقل المحاط بعلامتي اقتباس مزدوجتين على الفاصل وفواصل الأسطر وعلامات الاقتباس المكررة، كما يصف RFC 4180. علامة الاقتباس الافتتاحية بلا إغلاق توقف التحويل وتذكر السطر الذي بدأ فيه الحقل.
أي الفواصل مدعومة؟
الفاصلة والفاصلة المنقوطة ومسافة الجدولة، إما اكتشافًا تلقائيًا من السطر الأول أو اختيارًا يدويًا. لا تُدعم الفواصل الأخرى، مثل الفاصل الرأسي (|)؛ ويمكن لأداة استخراج الأعمدة أو عملية بحث واستبدال أن تبدّلها بالفواصل أولًا.
لماذا تكون أرقامي نصوصًا في JSON؟
لا يحمل CSV أنواعًا، ولا يخمّنها المحوِّل، فتخرج كل قيمة نصًا، وتخرج الخلية الفارغة نصًا فارغًا. هذا يحفظ قيمًا مثل 007 أو 1e5 كما كُتبت تمامًا؛ حوِّل الأنواع في كودك حيث تحتاج إلى أرقام.
كيف يعمل التحويل من JSON إلى CSV؟
يحتاج إلى مصفوفة JSON من كائنات. يصبح كل كائن صفًا، والأعمدة هي كل المفاتيح التي تظهر في أي مكان، وتُكتب الكائنات أو المصفوفات المتداخلة داخل خليتها كنص JSON. يُبلَّغ عن JSON غير الصالح برقم السطر حين يوفر محلل المتصفح موضعه.
لماذا يُفتح ملف CSV الخاص بي بشكل خاطئ في Excel بعد التحويل؟
الملف بترميز UTF-8 عادي بلا علامة ترتيب البايتات (BOM) ويستخدم الفاصل الذي اخترته، لذا قد يضع Excel في منطقة تتوقع الفواصل المنقوطة كل شيء في عمود واحد، وقد تحتاج الأحرف غير الإنجليزية إلى ضبط معالج الاستيراد على UTF-8. اختيار الفاصلة المنقوطة يحل المشكلة الأولى غالبًا.
هل تُرفع بياناتي إلى أي مكان؟
لا. يعمل الاتجاهان في متصفحك، ولا يُرسَل النص الذي تلصقه إلى CitationEasy. يُنشأ الملف المُنزَّل محليًا.

أدوات ذات صلة

المزيد في البيانات ولغات الترميز والبرمجة