JSON (تدوين كائنات جافا سكريبت) هو تنسيق بيانات نصي خفيف الوزن، مبني على أزواج مفتاح-قيمة متداخلة ومصفوفات، مصمم لتمثيل البيانات المنظمة بطريقة يسهل على الآلات تحليلها ويسهل على الإنسان قراءتها مباشرة. نشأ JSON من جافا سكريبت، ولكنه الآن مستقل عن اللغة، وأصبح التنسيق الافتراضي لمعظم واجهات برمجة تطبيقات الويب الحديثة، ليحل محل البدائل القديمة الأكثر تفصيلاً في العديد من حالات التكامل. في إدارة خلاصات البيانات، يظهر JSON بشكل أقل كتنسيق لخلاصة التسوق النهائية نفسها، وأكثر كتنسيق يعتمد عليه كل ما يتعلق بهذه الخلاصة.

لماذا يُعدّ JSON مهمًا لعمليات دمج خلاصات الأخبار

لا تزال معظم بيانات المنتجات المُرسلة مباشرةً إلى قنوات التسوق بتنسيق XML أو CSV، لكن الأنظمة التي تُنشئ هذه البيانات وتُديرها - أنظمة إدارة معلومات المنتجات (PIMs)، وأنظمة تخطيط موارد المؤسسات (ERPs)، ومنصات إدارة البيانات، وواجهات برمجة التطبيقات (APIs) التي تربطها جميعًا - تتواصل فيما بينها في الغالب بتنسيق JSON. عندما تسحب أداة إدارة البيانات المخزون المباشر من واجهة برمجة التطبيقات ، أو تتحقق من المخزون عبر حمولة webhook ، أو تتبادل البيانات مع نظام إدارة معلومات المنتجات، فإن هذه البيانات تكون دائمًا بتنسيق JSON في جوهرها، حتى لو تم تحويلها إلى XML قبل إرسالها إلى Google أو Meta. يُعد فهم JSON أمرًا بالغ الأهمية لأي شخص يُحاول استكشاف أخطاء تكامل البيانات وإصلاحها، لأن معظم البنية التحتية بين الأنظمة - وليس ملف البيانات النهائي نفسه - هي التي تحتوي على JSON.

كيف يعمل JSON

تُبنى وثيقة JSON من مجموعة صغيرة من العناصر الأساسية: الكائنات، وهي أزواج من المفاتيح والقيم مُحاطة بأقواس معقوفة، والمصفوفات، وهي قوائم مُرتبة مُحاطة بأقواس مربعة، وقيم عددية مثل السلاسل النصية والأرقام والقيم المنطقية. لا يوجد مخطط ثابت تفرضه صيغة JSON نفسها - فمحلل JSON لا يتطلب نوع وثيقة مُحدد مُسبقًا، وهذا أحد أسباب استخدامه على نطاق واسع في استجابات واجهات برمجة التطبيقات (API) التي تحتاج إلى التطور دون التأثير على العملاء القدامى. عندما تتلقى منصة تغذية بيانات حمولة JSON من واجهة برمجة تطبيقات تغذية بيانات أو من رابط ويب، فإنها عادةً ما تُحلل هذا الهيكل وتُطابق حقوله مع ما تتطلبه صيغة التغذية المُستهدفة - غالبًا XML.

مثال: بيانات JSON خلف عنصر تغذية XML

<!--
  Source payload from the merchant's API, before conversion:
  {
    "sku": "SKU-51290",
    "title": "Recycled Denim Tote Bag",
    "price": { "amount": 38.00, "currency": "USD" },
    "availability": "in_stock"
  }
-->
<item>
  <g:id>SKU-51290</g:id>
  <title>Recycled Denim Tote Bag</title>
  <g:price>38.00 USD</g:price>
  <g:availability>in stock</g:availability>
</item>

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

المفاهيم ذات الصلة

يُعدّ JSON التنسيق الأساسي الذي يعتمد عليه معظم أنظمة التشغيل الآلي التي تستخدمها خلاصات البيانات حاليًا، سواءً كان ذلك واجهة برمجة تطبيقات (API) تُعيد بيانات الأسهم مباشرةً أو خطاف ويب يُرسل تحديثات الأسعار فور حدوثها في النظام المصدر. كما يظهر JSON بشكل متزايد كتنسيق بديل لإرسال خلاصات البيانات نفسها، حيث تُضيف المزيد من المنصات خيارات تحميل JSON إلى جانب دعمها التقليدي لملفات XML وCSV.