دليل JSON
JSON تنسيق خفيف لتبادل البيانات يُستخدم في واجهات API وملفات الإعداد. يغطي هذا الدليل الصياغة الأساسية.
ما هو JSON؟
JSON مبني على كائنات JavaScript لكنه نص مستقل عن اللغة.
JSON صالح له قيمة جذر واحدة: كائن {...} أو مصفوفة [...].
القواعد الأساسية
المفاتيح والنصوص بين علامات اقتباس مزدوجة؛ \ للهروب.
فواصل بين العناصر دون فاصلة زائدة. بلا تعليقات أو undefined.
أرقام بلا أصفار بادئة؛ true و false بأحرف صغيرة.
ستة أنواع
string, number, boolean, null, object, array:
{
"name": "Alice",
"age": 30,
"active": true,
"score": null
}النصوص والهروب
اقتباس مزدوج، UTF-8، \n \t \" \\
{
"message": "Hello\nWorld",
"quote": "He said \"Hi\"",
"path": "C:\\Users\\data",
"emoji": "你好 🎉",
"unicode": "\u0041"
}الأرقام والمنطقية و null
أعداد صحيحة وعشرية وسالبة وعلمية. null = قيمة فارغة.
{
"count": 42,
"price": 19.99,
"negative": -1,
"scientific": 1.5e10,
"flag": true,
"disabled": false,
"empty": null
}بنى فارغة
[] مصفوفة فارغة، {} كائن فارغ، "" نص فارغ.
{
"tags": [],
"meta": {},
"note": ""
}الكائنات
أزواج مفتاح:قيمة داخل {}.
{
"user": {
"id": 1001,
"email": "alice@example.com"
}
}المصفوفات
عناصر مرتبة في []؛ يمكن أن تكون جذراً:
{
"tags": ["json", "tutorial", "web"],
"scores": [95, 88, 72]
}[
{ "id": 1, "name": "Alice" },
{ "id": 2, "name": "Bob" }
]التداخل
كائنات ومصفوفات متداخلة.
{
"project": "QyCreate JSON",
"version": 1,
"features": ["format", "validate", "minify"],
"settings": {
"indent": 2,
"theme": "light"
},
"contributors": [
{ "name": "Alice", "role": "author" },
{ "name": "Bob", "role": "reviewer" }
]
}JSON مقابل JavaScript
JSON تنسيق بيانات وليس كوداً. بلا تعليقات أو دوال أو undefined.
JSON.parse() / JSON.stringify()؛ JSON5 امتداد غير قياسي.
أخطاء شائعة
مفاتيح بلا اقتباس، اقتباس مفرد، فاصلة زائدة:
{
name: "Alice",
"items": [1, 2, 3,],
}{
"name": "Alice",
"items": [1, 2, 3]
}التدرب على الأداة
الصق JSON أو ارفع حتى 4 MB. تحميل مثال، تنسيق وضغط—المسافات البادئة تسهّل قراءة البنية المتداخلة.
أخطاء مع السطر/العمود؛ تراجع/إعادة؛ نسخ أو تنزيل—كل شيء محلياً.