الإدخال (مصفوفة من كائنات JSON)

الإخراج المدمج

ما هو دمج JSON؟

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

تتوقع هذه الأداة مصفوفة JSON من الكائنات. تدمجها بالترتيب باستخدام وضع سطحي أو عميق. النتيجة كائن واحد. المعالجة تتم في المتصفح.

كيفية استخدام هذه الأداة

1

أدخل مصفوفة JSON

الصق مصفوفة JSON من الكائنات، مثل [{"a": 1}, {"b": 2}, {"a": 3}]. الترتيب مهم: الكائنات اللاحقة تحل محل السابقة للمفاتيح المتعارضة. استخدم عميق أو سطحي لاختيار طريقة الدمج.

2

تحقق من النتيجة

تُظهر اللوحة اليمنى الكائن المدمج. في الوضع السطحي، دمج {"a": 1, "b": 2} مع {"a": 3} ينتج {"a": 3, "b": 2}. في الوضع العميق، تُدمج الكائنات المتداخلة بشكل تكراري.

3

انسخ أو نزّل

استخدم <strong>نسخ</strong> أو <strong>تنزيل</strong> للحصول على النتيجة. للتنسيق استخدم منسق JSON. للتحقق استخدم مدقق JSON.

متى يكون دمج JSON مفيدًا

دمج ملفات الإعداد حالة استخدام شائعة. لديك <code>default.json</code> و<code>production.json</code>؛ تريد دمجهما بحيث يتجاوز الإنتاج المفاتيح الضرورية فقط. الدمج العميق يجمع القيم الافتراضية المتداخلة بشكل تكراري. لردود واجهات برمجة التطبيقات من مصادر متعددة أو بناء كائنات من قالب أساسي مع تجاوزات خاصة بالبيئة، يعطي الدمج كائنًا واحدًا مدمجًا. منسق JSON يساعد على تنسيق النتيجة للقراءة.

أمثلة دمج JSON

إليك مثال لدمج كائنَي تكوين مشترك. الكائنات اللاحقة تحل محل السابقة للمفاتيح المتعارضة.

مثال: دمج تكوينات المشتركين

الإدخال (مصفوفة الكائنات المراد دمجها):

الإدخال

الإخراج المدمج:

الإخراج

الدمج السطحي مقابل العميق

الدمج السطحي: إذا كان لكلا الكائنين مفتاح معين، تحل القيمة من الكائن اللاحق محل السابقة بالكامل. الكائنات المتداخلة لا تُدمج — بل تُستبدل. الدمج العميق: الكائنات المتداخلة تُدمج بشكل تكراري. لذا {"a": {"b": 1}} مدموجًا مع {"a": {"c": 2}} ينتج {"a": {"b": 1, "c": 2}} في الوضع العميق، لكن {"a": {"c": 2}} في الوضع السطحي. Object.assign في JavaScript يُنفّذ الدمج السطحي. مكتبات مثل Lodash merge تُنفّذ الدمج العميق.

مواصفات JSON تعرّف الكائنات كمجموعات غير مرتبة من أزواج المفاتيح والقيم. ترتيب الدمج مهم: القيم اللاحقة تحل محل السابقة. دمج الإعدادات من ردود واجهات برمجة التطبيقات من Postman أو fetch، أو الجمع بين القيم الافتراضية والتجاوزات حالات شائعة. المعيار الرسمي هو RFC 8259. دليل MDN لـ JSON يناقش التحليل والتسلسل.

الأسئلة الشائعة

ماذا أفعل إذا كان لديّ كائنان منفصلان وليس مصفوفة؟

لفّهما في مصفوفة: [{"a": 1}, {"b": 2}]. هذه الأداة تتوقع مصفوفة من الكائنات.

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

في معظم تطبيقات الدمج، تُستبدل المصفوفات ولا تُدمج. إذا كان الكائن أ يحتوي على "items": [1, 2] والكائن ب يحتوي على "items": [3]، فالنتيجة عادةً "items": [3]. تحقق من نتيجة الأداة للتأكيد.

هل يتم إرسال بياناتي إلى أي مكان؟

لا. يتم الدمج في المتصفح.

هل يمكنني دمج ملفات الإعداد؟

نعم. الصق كل إعداد ككائن في المصفوفة، مع القيم الافتراضية أولًا والتجاوزات أخيرًا. الدمج العميق عادةً أفضل للهياكل المتداخلة.

ماذا عن المفاتيح المكررة في نفس الكائن؟

كائنات JSON لا يمكن أن تحتوي على مفاتيح مكررة. إذا وُجدت، سيحتفظ المحلل بواحدة فقط. تحقق أولًا باستخدام مدقق JSON.

أدوات ذات صلة

بنية JSON موضّحة على json.org وفي RFC 8259. الدمج في JavaScript موضّح في MDN Object.assign وصياغة الانتشار. للدمج العميق في Lodash استخدم دالة merge. نظرة عامة على JSON في MDN. انظر أيضًا jq وPostman.