ما الذي يفعله التسطيح بمستند JSON
يُحوّل التسطيح كائن JSON الهرمي إلى خريطة أحادية المستوى يصبح فيها كل مسار مفتاح أصلي سلسلة نقطية. مثلاً، الكائن المتداخل {"user": {"name": "Alice", "address": {"city": "Paris"}}} يصبح {"user.name": "Alice", "user.address.city": "Paris"}. تُحفظ جميع القيم الورقية.
تُدرج عناصر المصفوفة في المفتاح المسطح بفهرسها: {"items": ["a", "b"]} يصبح {"items.0": "a", "items.1": "b"}. هذا يتيح تمثيل المستند الكامل كمخزن مفتاح-قيمة بسيط.
التسطيح قابل للعكس: من خريطة مسطحة يمكن إعادة بناء البنية المتداخلة الأصلية بتقسيم كل مفتاح عند الفاصل. عملية فك التسطيح متاحة أيضاً في هذه الأداة.
خيارات الفاصل والحالات الحدية
الفاصل الافتراضي نقطة (.). يمكنك تغييره إلى شرطة مائلة (/) أو شرطة سفلية (_) أو شرطتين سفليتين (__) أو أي سلسلة مخصصة. النقطة قد تُسبب التباساً حين تحتوي أسماء المفاتيح نفسها على نقاط.
حين تحتوي المفاتيح على حرف الفاصل، تقترح الأداة استراتيجيتين: تهريب الفاصل في أسماء المفاتيح، أو استخدام فاصل لا يظهر في أي مفتاح.
تُعالَج قيم null والكائنات/المصفوفات الفارغة بشكل صريح. قيمة null تُحفظ كما هي. كائن فارغ {} لا يُنتج مفاتيح. مصفوفة فارغة [] لا تُنتج مفاتيح أيضاً.
حالات الاستخدام الشائعة
تصدير جداول البيانات: أزواج المفتاح-القيمة المسطحة تتعين طبيعياً على جدول بيانات من عمودَين (مفتاح | قيمة). بالاقتران مع أداة JSON إلى CSV، يُتيح التسطيح تصدير استجابات API عميقة التداخل إلى Excel.
إدراج متغيرات البيئة: تُخزّن أنظمة تنسيق الحاويات الإعدادات كأزواج مفتاح=قيمة مسطحة. تسطيح إعدادات JSON يُنتج بالضبط التنسيق المطلوب.
المقارنة والتدقيق: مقارنة خريطتَي JSON مسطحتَين أبسط من مقارنة الأشجار المتداخلة لأن أسماء المفاتيح تُشفّر المسار الكامل.