JSON (JavaScript Object Notation) هو تنسيق بيانات خفيف قائم على النص، يتكوّن من أزواج مفتاح-قيمة متداخلة ومن مصفوفات، وقد صُمّم لتمثيل البيانات المنظّمة بطريقة يسهل على الآلات تحليلها، ويسهل كذلك على الإنسان قراءتها مباشرة بدرجة معقولة. نشأ هذا التنسيق من JavaScript، لكنه أصبح اليوم مستقلًا عن أي لغة برمجة، وتحوّل إلى التنسيق الافتراضي لمعظم واجهات API الحديثة، إذ حلّ محل بدائل أقدم وأكثر إسهابًا في كثير من حالات التكامل. وفي إدارة خلاصات المنتجات، لا يظهر JSON عادةً كتنسيق لخلاصة التسوق النهائية نفسها، بل كتنسيق تعمل به بصورة متزايدة جميع الأنظمة المحيطة بتلك الخلاصة.
لماذا يُعدّ JSON مهمًا لتكاملات خلاصات المنتجات
لا تزال معظم خلاصات المنتجات التي تُرسل مباشرة إلى قناة تسوق بصيغة XML أو CSV، لكن الأنظمة التي تبني هذه الخلاصات وتديرها، مثل أنظمة PIM وERP ومنصات إدارة الخلاصات وواجهات API التي تربط بينها جميعًا، تتبادل البيانات فيما بينها في الغالب الأعم بصيغة JSON. وعندما تسحب أداة إدارة الخلاصات بيانات المخزون الفورية من API، أو تتحقق من توفر المخزون عبر حمولة webhook، أو تتبادل البيانات مع نظام PIM، فإن هذه البيانات تكون JSON في أغلب الأحيان في الأساس، حتى لو جرى تحويلها إلى XML قبل إرسالها إلى Google أو Meta. لذلك فإن فهم JSON مهم لكل من يعالج مشكلات تكامل الخلاصات، لأن معظم البنية التحتية بين الأنظمة، وليس ملف الخلاصة النهائي نفسه، هي المكان الذي يعيش فيه JSON فعليًا.
كيف يعمل JSON
تتكوّن وثيقة JSON من مجموعة صغيرة من العناصر الأساسية: الكائنات (objects)، وهي أزواج مفتاح-قيمة محاطة بأقواس معقوفة، والمصفوفات (arrays)، وهي قوائم مرتّبة محاطة بأقواس مربعة، والقيم المفردة مثل النصوص والأرقام والقيم المنطقية. ولا يفرض التنسيق نفسه مخططًا ثابتًا، فمحلّل JSON لا يتطلب نوع وثيقة محددًا مسبقًا، وهذا جزء من سبب انتشاره الواسع في استجابات API التي تحتاج إلى التطور دون كسر عمل العملاء الأقدم. وعندما تتلقى منصة الخلاصات حمولة JSON من واجهة API لـخلاصة البيانات أو من webhook، فإنها تحلّل هذه البنية عادةً ثم تربط حقولها بما يتطلبه تنسيق الخلاصة الوجهة، وهو في الغالب 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، وهو التنسيق الذي تسحبه معظم أدوات إدارة الخلاصات فعليًا من API، وذلك قبل تسطيحه إلى وسوم XML التي تتوقعها قناة التسوق.
مفاهيم ذات صلة
يُعدّ JSON التنسيق الرابط وراء معظم عمليات الأتمتة التي تعتمد عليها الخلاصات اليوم، سواء كانت واجهة API تعيد بيانات المخزون الفورية أو webhook يدفع تغيير السعر لحظة حدوثه في النظام المصدر. كما يظهر بصورة متزايدة كتنسيق بديل لإرسال خلاصة البيانات نفسها، مع إضافة المزيد من المنصات خيارات رفع قائمة على JSON إلى جانب دعمها التقليدي لـ XML وCSV.
















