دليل JSON الشامل: ما هو وكيف يستخدمه المطورون
دليل مفصل باللغة العربية يشرح JSON من الأساسيات: قواعد البناء، الأخطاء الشائعة، الفرق بين JSON وXML، واستخدامه في APIs.
إذا كنت تكتب أي كود يتعامل مع بيانات — سواء كان تطبيق ويب، أو موبايل، أو سكريبت بسيط — فأنت تتعامل مع JSON بشكل شبه يومي. هذا التنسيق أصبح اللغة المشتركة لتبادل البيانات في الإنترنت الحديث. فهمه جيداً يوفر عليك ساعات من تصحيح الأخطاء.
يمكنك تطبيق كل ما ستتعلمه هنا مباشرةً باستخدام أداة JSON Formatter — مجانية تماماً، بدون تسجيل، وتعمل بالكامل في متصفحك دون رفع بياناتك لأي سيرفر.
ما هو JSON؟
JSON اختصار لـ JavaScript Object Notation. اخترعه Douglas Crockford في مطلع الألفية الثانية كطريقة خفيفة لتمثيل البيانات المنظمة. رغم أن الاسم يحتوي على "JavaScript"، إلا أن JSON متاح في كل لغة برمجة تقريباً: Python، Java، PHP، Ruby، Go، Rust وغيرها. التنسيق مستقل تماماً عن أي لغة.
قبل JSON، كان XML هو المعيار السائد لتبادل البيانات. لكن XML ثقيل: يحتاج tags افتتاحية وختامية، وحجمه كبير مقارنة بالبيانات الفعلية. جاء JSON بتنسيق أبسط وأخف، وانتشر بسرعة هائلة خاصةً مع صعود REST APIs والتطبيقات أحادية الصفحة (SPA).
قواعد بناء JSON: الأساسيات
JSON له قواعد صارمة. مخالفة أي منها تجعل الملف غير صالح (invalid). هذه هي القواعد الجوهرية:
الأنواع المدعومة
- String — نص بين علامتي اقتباس مزدوجة:
"مرحبا"أو"hello" - Number — أرقام صحيحة أو عشرية:
42أو3.14 - Boolean — قيمتان فقط:
trueأوfalse - null — قيمة فارغة:
null - Array — مصفوفة من القيم:
[1, 2, 3] - Object — مجموعة من أزواج المفتاح-القيمة:
{"name": "Ali"}
مثال على JSON صالح
{
"user": {
"id": 1042,
"name": "أحمد العمري",
"email": "ahmed@example.com",
"isActive": true,
"score": 98.5,
"tags": ["developer", "designer"],
"address": null
}
}أخطاء JSON الشائعة وكيف تصلحها
معظم أخطاء JSON تنتمي لفئات محدودة. إليك الأكثر شيوعاً:
1. فاصلة زائدة (Trailing Comma)
هذا الخطأ شائع جداً للمطورين القادمين من JavaScript أو Python حيث تُقبل الفاصلة الأخيرة:
// خطأ — فاصلة بعد آخر عنصر
{
"name": "Ali",
"age": 30,
}
// صحيح
{
"name": "Ali",
"age": 30
}2. استخدام علامات اقتباس مفردة
JSON يقبل فقط علامات الاقتباس المزدوجة للمفاتيح والقيم النصية. علامات الاقتباس المفردة صالحة في JavaScript لكن ليس في JSON:
// خطأ
{ 'name': 'Ali' }
// صحيح
{ "name": "Ali" }3. مفاتيح بدون علامات اقتباس
في JavaScript يمكن كتابة مفاتيح الـ objects بدون اقتباس، لكن في JSON كل مفتاح يجب أن يكون string:
// خطأ
{ name: "Ali" }
// صحيح
{ "name": "Ali" }4. قيم undefined
undefined غير موجود في JSON. إذا كانت القيمة غائبة، استخدم nullأو احذف المفتاح كلياً.
JSON مقابل XML: لماذا انتصر JSON؟
الفرق واضح عند مقارنة نفس البيانات في التنسيقين:
<!-- XML - 180 characters -->
<user>
<id>1042</id>
<name>Ahmed</name>
<active>true</active>
</user>
// JSON - 52 characters
{"id":1042,"name":"Ahmed","active":true}JSON أخف، أسهل في القراءة، وأسرع في التحليل (parsing). أيضاً يتكامل بشكل طبيعي مع JavaScript لأنه يُحول مباشرةً إلى objects باستخدام JSON.parse().
استخدام JSON في APIs
أغلب REST APIs الحديثة تُرسل وتستقبل البيانات بتنسيق JSON. عندما تُرسل طلب HTTP، تضع Content-Type header كـ application/json، وعندما تستقبل الرد، تحوله لـ object باستخدام:
// JavaScript
const response = await fetch('/api/users/1042');
const user = await response.json(); // تحويل JSON تلقائياً
console.log(user.name); // "Ahmed"
// Python
import requests, json
res = requests.get('/api/users/1042')
user = res.json()
print(user['name']) # "Ahmed"تنسيق وضغط JSON
JSON يأتي في شكلين: مُنسَّق (pretty-printed) مع مسافات بادئة لسهولة القراءة، أو مضغوط (minified) بدون مسافات زائدة لتقليل حجم البيانات. في الإنتاج يُفضل الضغط لتوفير bandwidth، أما عند التطوير والتصحيح فالتنسيق أوضح.
استخدم أداة JSON Formatter للتنقل بين الصيغتين فورياً، والتحقق من صحة JSON قبل استخدامه، مع عرض أي أخطاء بدقة في السطر المحدد. البيانات لا تغادر متصفحك — آمن تماماً حتى لملفات JSON التي تحتوي على بيانات إنتاج حساسة.
Try the Tools — 100% Free, No Sign-Up
Everything runs in your browser. No uploads. No accounts. No ads.
Explore All Tools →