تحويل JSON إلى CSV
حوّل استجابات API والملفات المُصدَّرة وJSON Lines إلى ملف CSV يُفتح بسلاسة في Excel — مع العثور على السجلات تلقائيًا، وتسطيح الحقول المتداخلة في أعمدة مقروءة، والحفاظ على المعرّفات الكبيرة رقمًا رقمًا.
- لا يُخزَّن أبدًا
- لا طابور ولا انتظار
- دون تسجيل ودون علامة مائية
كيف تعمل الأداة
أضِف JSON
أفلِت ملف .json أو .jsonl، أو الصق JSON مباشرة في المربع.
اختر السجلات
يُعثر على قائمة السجلات تلقائيًا، حتى لو كانت في عمق data.items. اختر طريقة كتابة المصفوفات وتحقّق من المعاينة.
تنزيل
ملف CSV بالفاصل والترميز اللذين تحتاجهما، جاهز لـ Excel أو Google Sheets أو قاعدة بيانات.
تسطيح شجرة في شبكة
JSON شجرة وCSV مستطيل، والتحويل كله هو مسألة كيف يصبح أحدهما الآخر. الحالة النظيفة هي مصفوفة كائنات تشترك كلها في المفاتيح نفسها — كل كائن صف، وكل مفتاح عمود، ولا يضيع شيء. وهكذا تبدو معظم استجابات API والملفات المُصدَّرة، ولهذا ينجح الأمر عادةً دون عناء. وكل ما هو صعب يأتي من مستندات ليست بهذا الشكل.
تُسطَّح الكائنات المتداخلة بضم مفاتيحها، فيصبح كائن العنوان داخل العميل أعمدة مثل address.city وaddress.postcode — وهو عُرف يتعامل معه كل برنامج جداول بيانات ولا يحدده أي معيار. والمفاتيح التي تظهر في بعض الكائنات دون غيرها تصبح أعمدة فارغة في الصفوف التي خلت منها، وهذه هي الإجابة الصحيحة: فالبديل هو حذف بيانات لا تحملها إلا بعض السجلات.
المصفوفات المتداخلة هي حيث تعجز الشبكة فعلًا عن المتابعة. فالسجل الواحد الذي يحتوي على ثلاثة بنود طلب هو صف واحد يحتوي على قائمة، لا ثلاثة صفوف — وتحويله إلى ثلاثة سيكرر كل حقل آخر ويغيّر معنى البيانات بصمت. لذا تُوسَّع مصفوفة كائنات واحدة إلى صفوف، وتُكتب أي مصفوفات أخرى في خليتها كنص. وإذا كان ما تحتاجه هو بنود الطلب لا الطلبات، فوجّه التحويل إلى تلك المصفوفة بدلًا من ذلك؛ فالشجرة التي تحتوي على قائمتين متجاورتين ليس لها مستطيل صحيح واحد، واختيار أحدها قرار لا يملكه إلا أنت.
وهناك تفصيلان يسببان المتاعب عند الإخراج. فالقيم التي تحتوي على فاصلة أو علامة اقتباس أو فاصل أسطر توضع بين علامتي اقتباس حتى تبقى سليمة — وهذا CSV صحيح لكنه يبدو غريبًا إذا فحصت الملف الخام. والمعرّف الرقمي الطويل يصبح خطرًا بمجرد وصول ملف CSV إلى برنامج جداول بيانات: إذ سيقرؤه Excel كرقم، ويقرّبه بعد خمسة عشر رقمًا، ويحذف أي صفر بادئ، وهذه مشكلة يسببها برنامج جداول البيانات لا التحويل.
عندما تحتاج إلى شيء آخر
jq هي الأداة المناسبة حين يحتاج الشكل إلى قرار لا إلى تخمين: يختار jq -r '.orders[] | [.id, .customer.name, .total] | @csv' الحقول التي تريدها بالضبط من المستوى الذي تريده بالضبط، وهذا هو التحكم الذي لا يستطيع المسطِّح التلقائي تقديمه. كما أنها تعمل كتدفق، فلا يعود حجم الملف عاملًا يُحسب له حساب.
وللبيانات المتداخلة عمومًا، يمنحك Miller — mlr --ijson --ocsv flatten — وpandas.json_normalize في Python تحكمًا صريحًا في عمق التسطيح وفي ما يُفعل بالقوائم. وإذا كان JSON هرميًا فعلًا لا جدوليًا، فقد يكون تحويله إلى CSV فكرة خاطئة أصلًا — فقاعدة البيانات أو ملف JSON المفصول بالأسطر يحتفظان بالبنية التي توشك الشبكة على التخلص منها.
الأسئلة الشائعة
كيف يتحول JSON المتداخل إلى أعمدة؟
يصبح كل حقل متداخل عمودًا واحدًا يُسمّى بمساره: {"address": {"city": "Oslo"}} يعطي عمودًا باسم address.city. وتظهر الأعمدة بترتيب أول ظهور لها في بياناتك، لا أبجديًا، والسجلات التي ينقصها حقل ما تترك تلك الخلية فارغة ببساطة.
ماذا يحدث للمصفوفات؟
أنت تختار: ادمج القيم في خلية واحدة («red; green»)، أو وزّعها على أعمدة مرقّمة (tags.0 وtags.1)، أو احتفظ بها كنص JSON، أو — لمصفوفة كائنات مثل بنود الطلب — اكتب صفًا لكل عنصر مع تكرار حقول العنصر الأب.
هل تُحفظ الأرقام الكبيرة بدقة؟
نعم. المعرّفات التي تتجاوز ما يستطيع JavaScript تمثيله — معرّفات Twitter وDiscord وقواعد البيانات بطول 64 بت — تُنسخ رقمًا رقمًا، بينما تقرّب معظم المحوّلات بصمت 1234567890123456789 إلى 1234567890123456800.
هل صيغة JSON Lines (NDJSON) مدعومة؟
نعم. يُتعرَّف تلقائيًا على الملف الذي يحتوي على كائن JSON واحد في كل سطر، ويصبح كل سطر صفًا.
ماذا لو كان في JSON خطأ؟
تحصل على رقم السطر والعمود بالضبط مع تمييز النص المسبّب للمشكلة، وشرح واضح — مثلًا فاصلة زائدة في النهاية، أو علامات اقتباس مفردة منسوخة من شيفرة JavaScript.
هل تُخزَّن بياناتي في أي مكان؟
لا. يُقرأ JSON ويُكتب CSV هنا؛ لا يُرسل أي شيء إلى أي مكان ولا يُخزَّن أي شيء.
معلومة مفيدة: لا يمكن توسيع أكثر من مصفوفة كائنات واحدة إلى صفوف في المرة الواحدة؛ وتُكتب المصفوفات الأخرى في خليتها. والملفات الكبيرة جدًا محدودة بذاكرة متصفحك.
أضِف هذه الأداة إلى موقعك
مجانية لأي مدونة أو صفحة فصل دراسي أو مقالة مساعدة. الصق مقتطفًا واحدًا وسيتمكن زوارك من استخدامها مباشرةً على صفحتك.
المزيد من أدوات جداول البيانات
تحويل CSV إلى JSON
من CSV إلى JSON متداخل بأنواع بيانات صحيحة
تحويل CSV إلى Excel
من CSV إلى XLSX بأرقام وتواريخ حقيقية
تحويل XML إلى Excel
سجلات XML إلى ورقة Excel منسّقة
تحويل Excel إلى XML
الصفوف إلى XML نظيف وسليم البنية
تحويل Excel إلى CSV
أي ورقة إلى CSV بالترميز الذي تحتاجه
تحويل ODS إلى XLSX
جداول LibreOffice كمصنفات Excel