تسطيح / إلغاء تسطيح JSON

تعمل في المتصفح JSON والبيانات

حوّل JSON عميق التداخل إلى كائن أحادي المستوى بمسارات مثل user.address.city (وفهارس المصفوفات)، أو اعكس خريطة مسطّحة إلى بنية متداخلة.

الخصوصية: تعمل هذه الأداة بالكامل في متصفحك. لا تغادر بياناتك جهازك أبداً.
جارٍ تحميل الأداة…

كيفية استخدام تسطيح / إلغاء تسطيح JSON

  1. الصق مستند JSON متداخلاً (للتسطيح) أو كائناً مسطّحاً من المفاتيح والقيم (لإلغاء التسطيح).
  2. اختر الفاصل ونمط فهارس المصفوفات.
  3. اضغط «تسطيح» (Flatten) أو «إلغاء التسطيح» (Unflatten) ثم انسخ الناتج.

مزايا تسطيح / إلغاء تسطيح JSON

  • تسطيح الكائنات والمصفوفات المتداخلة إلى مفاتيح مسار أحادية المستوى
  • اختيار الفاصل (. أو / أو _ أو __ أو :) وفهارس المصفوفات بصيغة النقطة أو الأقواس
  • الحفاظ على الكائنات والمصفوفات الفارغة
  • إلغاء تسطيح مفاتيح المسار وإعادتها إلى بنى متداخلة
  • اكتشاف المفاتيح المتعارضة التي لا يمكن تداخلها
  • إحصاءات عن عدد المفاتيح وعمق المسارات

مثال على تسطيح / إلغاء تسطيح JSON

تسطيح سجل مستخدم

الإدخال:

{"user":{"name":"Layla","roles":["admin","editor"]},"active":true}

النتيجة:

{
  "user.name": "Layla",
  "user.roles.0": "admin",
  "user.roles.1": "editor",
  "active": true
}

الأسئلة الشائعة حول تسطيح / إلغاء تسطيح JSON

ما الذي ينتج عن التسطيح؟

كائن أحادي المستوى مفاتيحه مسارات كاملة، مثل user.address.city أو user.roles.0. ويُحافَظ على الكائنات والمصفوفات الفارغة كـ {} و[] بحيث لا تُفقد أي معلومات.

هل يمكنني الحصول على مسارات مصفوفات بصيغة الأقواس؟

نعم — اختر «الأقواس» (Brackets) لإخراج user.roles[0] بدلاً من user.roles.0. ويُفهم كلا النمطين عند إلغاء التسطيح.

متى أستخدم فاصلاً مختلفاً؟

استخدم "__" أو ":" عندما تحتوي مفاتيحك أصلاً على نقاط (أسماء النطاقات، أرقام الإصدارات) لتبقى المسارات واضحة لا لبس فيها، أو "/" لمحاكاة المفاتيح بنمط المؤشرات (pointer).

لماذا يفشل إلغاء التسطيح بخطأ «تعارض» (conflict)؟

يصف مفتاحان بنيتين غير متوافقتين، مثل "a": 1 و"a.b": 2 — فلا يمكن أن يكون "a" رقماً وكائناً في آن واحد. أزل أحدهما أو أعد تسميته.