تسطيح/إلغاء تسطيح JSON
سطّح كائنات JSON المتداخلة بتدوين النقطة أو أعدها متداخلة.
حول تسطيح/إلغاء تسطيح JSON
يقوم تسطيح JSON (JSON Flatten) بتحويل كائنات ومصفوفات JSON المتداخلة بعمق إلى قاموس مسطح من مسارات المفاتيح بتدوين النقطة (dot-notation) وقيمها العددية، ويقوم إلغاء التسطيح (Unflatten) بعكس العملية عن طريق إعادة بناء التسلسل الهرمي المتداخل الكامل من مسارات المفاتيح المسطحة. ععلى سبيل المثال، الكائن المتداخل {a:{b:{c:1}'}'} يتم تسطيحه إلى المفتاح المسطح a.b.c بالقيمة 1. يعتبر JSON المسطح أسهل بكثير في البحث، والتخزين في قواعد البيانات العلائقية أو قواعد بيانات المفتاح-القيمة، والمقارنة بأدوات المقارنة (diff tools)، والمعالجة باستخدام jq، والاستخدام كتعيينات لمتغيرات البيئة حيث لا يتم دعم البنية المتداخلة.
كيفية الاستخدام
الصق أي JSON متداخل في منطقة الإدخال وانقر على تسطيح (Flatten) لتحويله إلى قاموس مسطح بتدوين النقطة (dot-notation) — يتم تمثيل المصفوفات بفهارس رقمية مثل items.0.name. استخدم محدد الفاصل للتبديل بين فواصل المسار النقطة، الشرطة المائلة، أو الشرطة السفلية المزدوجة اعتمادًا على متطلبات نظامك المستهدف. للعكس، الصق قاموس JSON مسطحًا وانقر على إلغاء التسطيح (Unflatten) لإعادة بناء البنية المتداخلة الكاملة، مع معالجة المفاتيح الرقمية بشكل صحيح كفهارس للمصفوفات.
حالات الاستخدام الشائعة
- مهندسو البيانات الذين يقومون بتسطيح سجلات أحداث JSON المتداخلة من تدفقات Kafka أو Kinesis إلى أزواج مفتاح/قيمة بتدوين النقطة لإدراجها في قواعد البيانات العمودية مثل BigQuery، Redshift، أو ClickHouse
- مهندسو DevOps الذين يقومون بتحويل Kubernetes ConfigMap المتداخلة أو قيم Helm YAML إلى تنسيق متغيرات بيئة KEY=VALUE مسطحة للحقن في بيئات الحاويات
- مطورو API الذين يقومون بتبسيط استجابات API المتداخلة بعمق من جهات خارجية — مثل كائنات Salesforce أو Stripe — إلى هياكل مسطحة لتسهيل التعيين لنماذج ORM أو أعمدة قواعد البيانات
- مهندسو ضمان الجودة (QA engineers) الذين يقومون بتسطيح كائني JSON ومقارنة قوائم مفاتيحهم المسطحة المرتبة لتحديد بدقة أي الحقول المتداخلة تمت إضافتها أو إزالتها أوو تغييرها دون الحاجة إلى أداة مقارنة JSON كاملة
- مطورو الواجهة الأمامية (Frontend developers) ومهندسو التوطين (localization engineers) الذين يقومون بتحويل ملفات ترجمة i18n JSON المتداخلة إلى تنسيق namespace.key.subkey مسطح للتوافق مع منصات إدارة الترجمة مثل Phrase أو Lokalise