يعمل على جهازك · الملف لا يغادر جهازك.
أضف ملف .json أو الصق ردّ واجهة برمجية مباشرة، واحصل على CSV يفتحه Excel وGoogle Sheets وأي شاشة استيراد. القائمة في أعلى الملف تصبح صفًا لكل عنصر؛ وإلا تُستخدم أطول قائمة سجلات في المستند، فـ{"results": [...], "count": 2} يعطي صفًا لكل نتيجة؛ والكائن الذي لا قائمة فيه يصبح صفًا واحدًا.
القواعد ثابتة لتكون النتيجة متوقعة: الكائن المتداخل يصبح أعمدة مفصولة بنقطة (address.city)، وقائمة القيم البسيطة تُجمع بفاصلة منقوطة في خلية واحدة، وقائمة الكائنات داخل السجل تأخذ أعمدة مرقّمة (items.0.name). صف العناوين هو اتحاد كل المفاتيح بترتيب ظهورها الأول، فالسجل الناقص يترك خلية فارغة فقط.
يُكتب CSV وفق معيار RFC 4180 بترميز UTF-8 مع علامة BOM اختيارية كي يعرض Excel النص بكل اللغات والرموز صحيحًا. والخلية التي تبدأ بـ = أو + أو - أو @ تُسبق بفاصلة علوية، فيعرضها برنامج الجداول نصًا ولا يشغّلها صيغةً. ترى أول 200 سطر قبل التنزيل.
ليست مناسبة لِـ: كائن واحد شديد التداخل بلا قائمة داخله — يُحوَّل لكن صفًا واحدًا عريضًا لا جدولًا.
القائمة في أعلى المستند هي الصفوف. وإلا بحثت الأداة في المستند، حتى ثمانية مستويات في العمق، عن أطول قائمة من الكائنات. فكلٌّ من {"response": {"data": {"items": [...]}}} و{"results": [...], "count": 2, "next": null} يعطي صفًا لكل عنصر، والسطر تحت النتيجة يذكر اسم القائمة التي استُخدمت، مثل results. أما القيم الواقعة بجانب تلك القائمة، مثل count وnext، فليست جزءًا من أي سجل، فتُترك.
وإذا تساوت قائمتان في الطول، فازت الأقرب إلى أعلى المستند. ولقائمة أقصر، انسخها من [ إلى ] والصق ذلك الجزء وحده. والمستند الذي لا يحوي قائمة كائنات يصبح صفًا واحدًا، والأغلفة ذات المفتاح الواحد تُتخطى، فـ{"order": {"id": 7, "total": 12}} يعطي العمودين id وtotal.
يُنسخ النص كما هو تمامًا، ومنه التواريخ، فتبقى بالصورة التي يحملها بها JSON، مثل 2024-01-05T10:00:00Z. وتُكتب true وfalse كلمتين. أما null والقائمة الفارغة والكائن الفارغ فكلها تصبح خلية فارغة، فتبدو في CSV كأن الحقل لم يكن موجودًا.
ويُكتب الرقم كما هو في JSON تمامًا: 1.0 تبقى 1.0، و1e21 تبقى 1e21، والمعرّف مثل 12345678901234567890 يحتفظ بكل خاناته حتى دون علامتي اقتباس. أما قارئ JSON العادي فكان سيحوّل ذلك المعرّف إلى 12345678901234567000.
قائمة القوائم تُفتح مستوى واحدًا: "m": [[1, 2], [3]] يعطي عمود m.0 فيه 1;2 وعمود m.1 فيه 3. والقائمة التي تخلط كائنات بقيم بسيطة يُرقَّم كل عنصر فيها، فـ"x": [{"z": 1}, 2] يعطي x.0.z وx.1.
وأسماء الأعمدة تُصنع بوصل المفاتيح بالنقاط، فقد يلتقي مفتاح يحوي نقطة أصلًا بمفتاح متداخل: {"a.b": 1, "a": {"b": 2}} كان سيصنع a.b مرتين. فيأخذ الثاني لاحقة، فتصبح الأعمدة a.b وa.b_2 وتُحفظ القيمتان كلتاهما.
الفاصلة هي الاختيار المعتاد. والفاصلة المنقوطة تناسب برنامج جداول مضبوطًا على لغة تكتب الكسور العشرية بالفاصلة، حيث يُفتح الملف المفصول بالفواصل في عمود واحد في الغالب. أما علامة الجدولة (Tab) والخط العمودي (|) فللأنظمة التي تطلبهما. وأيًّا كان الفاصل، يُسمّى الملف .csv.
والخلية التي تبدأ بـ = أو + أو - أو @ صيغةٌ في نظر برنامج الجداول، فيشغّلها عند فتح الملف. لذلك يُضاف قبلها فاصلة علوية (')، وهي العلامة التي تستخدمها برامج الجداول نفسها لتقول «هذا نص»، فتُكتب =1+1 هكذا: '=1+1. أما الأرقام العادية مثل -5 أو +3.5 فتبقى كما هي.
هذه الصفحة بلغات أخرى: English · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা