أهلاً وسهلاً يا شباب! اليوم بنتكلم عن لغة مهمة جداً في عالم البرمجة، وهي JSON. لو أنت مطور، أكيد بتتعامل معاها كثير. ببساطة، JSON هي الطريقة اللي تتكلم فيها الآلات مع بعضها وتفهم البيانات.
وش هي JSON بالضبط؟
JSON اختصار لـ JavaScript Object Notation. لا يغرك اسمها، هي صحيح طلعت من جافاسكريبت بس صارت لغة مستقلة ومستخدمة تقريباً في كل لغات البرمجة. ليش؟ لأنها خفيفة وسهلة للقراءة والكتابة، سواء للبشر أو للآلات.
ملاحظة سريعة: فكر فيها كـ "اللغة المشتركة" اللي كل البرامج والأنظمة تقدر تفهمها عشان تبادل المعلومات.
كيف شكل بيانات JSON؟ الأساسيات
JSON تعتمد على تركيبتين أساسيتين: الكائنات (Objects) والمصفوفات (Arrays).
1. الكائنات (Objects) - مثل القاموس أو الخريطة
الكائنات تمثل مجموعة من أزواج مفتاح: قيمة (Key-Value Pairs). دايماً تبدأ بـ { وتنتهي بـ }. المفتاح لازم يكون نص (String) والقيمة ممكن تكون أي نوع بيانات JSON.
مثال:
هنا عندنا ثلاث مفاتيح: اسم، عمر، متزوج. وكل مفتاح له قيمة.
2. المصفوفات (Arrays) - مثل قائمة مرتبة
المصفوفات هي قائمة مرتبة من القيم. دايماً تبدأ بـ [ وتنتهي بـ ]. كل قيمة داخل المصفوفة ممكن تكون أي نوع بيانات JSON (نص، رقم، كائن، مصفوفة أخرى، إلخ).
مثال:
هذي مصفوفة فيها ثلاث نصوص.
أنواع البيانات في JSON
JSON تدعم أنواع بيانات بسيطة ومفهومة:
- النص (String): دايماً داخل علامتي تنصيص مزدوجة
"". مثال:"مرحبا بالعالم". - الرقم (Number): أعداد صحيحة أو عشرية. مثال:
123أو3.14. - القيمة المنطقية (Boolean): إما
trueأوfalse. - القيمة الفارغة (Null): تمثل عدم وجود قيمة. تكتب
null. - الكائن (Object): مثل ما شرحنا فوق، مجموعة
مفتاح: قيمة. - المصفوفة (Array): مثل ما شرحنا فوق، قائمة مرتبة من القيم.
مثال شامل: كيف تبدو البيانات الحقيقية؟
تخيل عندنا بيانات عن طالب ودوراته:
شوف كيف: الكائن الرئيسي فيه مفاتيح وقيم متنوعة.
دوراتهي مصفوفة، وكل عنصر فيها هو كائن بحد ذاته. ومعلومات_اتصالهي كائن آخر داخل الكائن الرئيسي. هذا يوريك قوة JSON في تمثيل البيانات المعقدة بشكل مرتب.
كيف نقرأ ونكتب JSON برمجياً؟
في معظم لغات البرمجة، فيه مكتبات جاهزة تسهل عليك التعامل مع JSON:
- قراءة JSON (Parsing): لما تستقبل بيانات JSON (مثلاً من API)، تحتاج تحولها لكائن أو بنية بيانات تفهمها لغتك البرمجية. هذا يسمونه "Parsing". غالب اللغات عندها دالة مثل
JSON.parse()في جافاسكريبت أوjson.loads()في بايثون. - كتابة JSON (Stringifying/Serializing): لما تبغى ترسل بيانات من برنامجك (مثلاً لـ API آخر)، تحتاج تحول كائنات لغتك البرمجية إلى نص JSON. هذا يسمونه "Stringifying" أو "Serializing". غالب اللغات عندها دالة مثل
JSON.stringify()في جافاسكريبت أوjson.dumps()في بايثون.
وبس! هذي كانت لمحة سريعة ومباشرة عن JSON. أهم شيء تطلع فيه هو إنها لغة بسيطة ومرنة لتبادل البيانات، وإنها تعتمد على الكائنات والمصفوفات وأنواع بيانات محددة. أي استفسار، أنا موجود!