JSON إلى CSV

سطّح مصفوفة JSON إلى جدول CSV، مع التعامل مع الكائنات المتداخلة والسجلّات المختلفة الأشكال.

تتم المعالجة على جهازك — بلا رفع

termiva json2csv data.json
0 حرفًا
الفاصل
المخرجات

الكائنات المتداخلة تصير أعمدة منقوطة — address.city. ومصفوفات القيم البسيطة تُوصل بفاصلة منقوطة؛ ومصفوفات الكائنات تأخذ أعمدة مرقّمة. والسجلّات المختلفة الأشكال تُدمج في جدول واحد، بفراغات حيث كان حقل ناقصًا.

0 حرفًا
صفوف لا شيء مرفوع

كيف تحوّل JSON إلى CSV

  1. الصق مصفوفة JSON عندك، أو اختر ملفًّا.
  2. اختر فاصلًا — الفاصلة المنقوطة إن كان الملف لإكسل الأوروبي.
  3. انسخ ملف CSV أو نزّله.

كيف يعمل

JSON شجرة وCSV شبكة، فعلى التحويل أن يجيب عن سؤالين لا تجيب عنهما الصيغة: ماذا يفعل بالتداخل، وماذا يفعل حين تختلف أشكال السجلّات.

التداخل يصير أسماء أعمدة منقوطة. { address: { city: "Amman" } } تصير عمودًا اسمه address.city. ومصفوفات القيم البسيطة تُوصل بفاصلة منقوطة؛ ومصفوفات الكائنات تأخذ أعمدة مرقّمة مثل items.0.sku. فكل ورقة تنتهي في مكان ما، بدل أن يُكتب كائن متداخل هكذا [object Object].

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

واقتباس المخرجات يتّبع معيار RFC 4180: فلا يُقتبس حقل إلا إذا حوى الفاصل أو علامة اقتباس أو سطرًا جديدًا أو فراغًا في الطرفين. وذلك يُبقي الملف مقروءًا مع نجاته من رحلة ذهاب وعودة عبر محلّل.

مثال عملي

واجهة برمجية تعيد طلبات وتحتاجها في جدول. اضغط حمّل عيّنة JSON لترى الحالتين الصعبتين معًا.

السجلّ الأول فيه address.city وaddress.zone؛ والثاني فيه address.city وحدها. والأول فيه وسمان؛ والثاني بلا وسوم. والثاني فيه حقل note ليس في الأول.

والنتيجة جدول واحد أعمدته id, name, address.city, address.zone, tags, note. والصفّ الثاني فيه فراغ حيث كانت ستكون address.zone وقيمة تحت note حيث الصفّ الأول فارغ. لم يُسقَط شيء، ولا صفّ منحرف.

وإعداد واحد ينبغي ضبطه قبل الفتح في إكسل. فإن كان إكسل عندك مضبوطًا على لغة أوروبية فهو يتوقّع فواصل منقوطة لا فواصل — افتح فيه ملفًّا مفصولًا بالفواصل فيحطّ كل صفّ في عمود واحد. بدّل الفاصل إلى الفاصلة المنقوطة فيفتح فتحًا صحيحًا.

والنصف الآخر من تلك المشكلة هو الترميز: فإكسل يحتاج علامة ترتيب بايتات ليقرأ UTF-8، وبدونها يُفتح النص العربي والمحرَّك حروفًا مشوّهة. والذهاب مباشرةً إلى ملف ‎.xlsx يتفادى المسألتين كليًا، لأن الصيغة تحمل ترميزها معها.

أسئلة

هل يُرفع JSON عندي؟

لا. يجري التحويل في متصفّحك، فتبقى استجابات الواجهات البرمجية التي فيها بيانات عملاء على جهازك.

ماذا يحدث للكائنات المتداخلة؟

تصير أسماء أعمدة منقوطة — address.city بدل عمود فيه [object Object]. وكل قيمة ورقية تأخذ عمودها.

ماذا لو اختلفت حقول سجلّاتي؟

الأعمدة اتّحاد كل مفتاح عبر كل سجلّ، فلا يضيع شيء. والسجلّات التي ينقصها حقل تأخذ فراغًا بدل صفّ منزاح.

كيف تُعامَل المصفوفات؟

مصفوفات القيم البسيطة تُوصل بفاصلة منقوطة في خلية واحدة. ومصفوفات الكائنات تأخذ أعمدة مرقّمة مثل items.0.sku.

لماذا يُفتح ملف CSV عندي في عمود واحد في إكسل؟

لأن إكسل الأوروبي يتوقّع فواصل منقوطة. بدّل الفاصل إلى الفاصلة المنقوطة، أو صدّر إلى ‎.xlsx بدلًا من ذلك، فلا فاصل فيه إطلاقًا.

لماذا تبدو العربية هراءً حين أفتح ملف CSV؟

إكسل يحتاج علامة ترتيب بايتات ليتعرّف على UTF-8. استعمل أداة CSV إلى إكسل بدلًا من ذلك — فصيغة ‎.xlsx تحمل ترميزها داخليًا.

هل أحوّل كائنًا واحدًا بدل مصفوفة؟

نعم. يُعامَل الكائن الواحد جدولًا من صفّ واحد.

ماذا لو كان JSON عندي غير صالح؟

تصلك رسالة المحلّل بدل ملف جزئي. مرّره عبر منسّق JSON أولًا، فهو يبلّغ عن سطر الخطأ وعموده.

هل يعطيني هذا ملف CSV أفتحه في إكسل؟

يعطيك نصّ CSV وتنزيلًا. وإكسل يفتحه، وإن كان يخمّن الفاصل بحسب اللغة — فإن وصلت أعمدتك مدموجة في عمود واحد، فاختر الفاصلة المنقوطة، وهي ما يتوقّعه إكسل الأوروبي.

هل JSON إلى CSV مجاني على الإنترنت؟

نعم — مجاني، بلا حساب، وبلا حد يومي، وبلا علامة مائية. يعمل في متصفّحك عبر الإنترنت، ولأن المعالجة تجري على جهازك فإنه يستمر في العمل دون اتصال بعد تحميل الصفحة.

للقراءة