معنى JSON ومثال أول
JSON اختصار لـ JavaScript Object Notation (ترميز كائنات JavaScript). نشره دوغلاس كروكفورد (Douglas Crockford) في مطلع الألفية الثالثة، وهو يستعير صياغته من JavaScript، ومعتمد كمعيار باسم RFC 8259 و ECMA-404. ورغم اسمه، فإن JSON مستقل عن أي لغة برمجة: إذ يمكن لكل اللغات تقريبًا قراءته وكتابته.
مستند JSON صغير يصف شخصًا:
{"name": "Ada Lovelace", "born": 1815, "languages": ["English", "French"], "mathematician": true, "spouse": null}
أنواع البيانات في JSON
| النوع | مثال | ملاحظات |
|---|---|---|
| سلسلة نصية (String) | "Hello" | نص بين علامتي اقتباس مزدوجتين، مع تسلسلات هروب مثل \n |
| رقم (Number) | 42، -3.14، 6.02e23 | بلا NaN أو Infinity أو صيغة سداسية عشرية أو أصفار بادئة |
| قيمة منطقية (Boolean) | true، false | بأحرف صغيرة دائمًا |
| Null | null | قيمة فارغة أو غير معروفة |
| كائن (Object) | {"key": "value"} | أزواج اسم/قيمة؛ والأسماء سلاسل نصية |
| مصفوفة (Array) | [1, 2, 3] | قائمة مرتبة من القيم من أي نوع |
لا يحتوي JSON على نوع للتاريخ: تُكتب التواريخ عادةً كسلاسل نصية بصيغة ISO 8601 مثل "2026-05-01T10:00:00Z".
صيغة JSON: قواعد الكتابة
- تُكتب البيانات كأزواج اسم/قيمة:
"name": "Ada". - تستخدم الأسماء (المفاتيح) والسلاسل النصية دائمًا علامات الاقتباس المزدوجة – وليس المفردة أبدًا.
- تُفصل العناصر بفواصل، ولا توضع فاصلة بعد العنصر الأخير.
- تحيط الأقواس المعقوفة
{ }بالكائنات، والأقواس المربعة[ ]بالمصفوفات. - التعليقات غير مسموح بها.
- تُتجاهل المسافات وفواصل الأسطر بين العناصر، لذا يمكن تصغير البيانات نفسها أو تنسيقها.
- يحتوي نص JSON على قيمة واحدة في المستوى الأعلى، ويُرمَّز بـ UTF-8.
ما هو ملف JSON؟
ملف JSON هو ملف نصي عادي بامتداد .json يحتوي على مستند JSON واحد. نوع الوسائط الخاص به هو application/json، ويجب حفظه بترميز UTF-8. ومن أمثلة ملفات JSON الشائعة: البيانات المُصدَّرة من التطبيقات والمواقع (مثل Google Takeout أو تنزيلات بيانات وسائل التواصل الاجتماعي)، وملفات الإعدادات مثل package.json، واستجابات API المحفوظة على القرص، ومجموعات البيانات المعدّة للتحليل. ولأنه نص عادي، فإن فتح ملف JSON آمن – إذ لا يمكنه تشغيل أي كود.
كيفية فتح ملف JSON
| أين | كيف |
|---|---|
| Windows | انقر بزر الماوس الأيمن على الملف ← فتح باستخدام ← المفكرة (Notepad)، أو استخدم محرر أكواد مثل VS Code. ويمكنك أيضًا سحب الملف إلى نافذة المتصفح لعرضه. |
| Mac | افتحه باستخدام TextEdit أو محرر أكواد، أو اسحبه وأفلته في نافذة المتصفح. |
| iPhone و Android | افتحه من تطبيق «الملفات» في عارض نصوص، أو حمّله في عارض JSON أونلاين – عارضنا يعمل على الهواتف ويبقى الملف على جهازك. |
| متصفح الويب | يحتوي Firefox على عارض JSON مدمج؛ وفي أي متصفح، يعرض عارض JSON أونلاين البيانات كشجرة قابلة للطي. |
| Excel | استخدم البيانات ← إحضار البيانات ← من ملف ← من JSON على Windows، أو حوّل الملف أولًا باستخدام أداة تحويل JSON إلى CSV. |
JSON مقابل XML
| JSON | XML | |
|---|---|---|
| الصياغة | أقواس معقوفة ومربعة، وأزواج اسم/قيمة | وسوم فتح وإغلاق |
| أنواع البيانات | سلسلة نصية، رقم، قيمة منطقية، null، كائن، مصفوفة | نص فقط، ما لم يحدد مخطط الأنواع |
| الحجم | مضغوط | أكبر بسبب وسوم الإغلاق |
| التعليقات | لا | نعم |
| السمات، مساحات الأسماء | لا | نعم |
| الاستخدام المعتاد | واجهات API على الويب، والإعدادات، وقواعد بيانات NoSQL | المستندات، وملفات Office، و SOAP، والأنظمة المؤسسية |
JSON في واجهات API والتطبيقات
ترسل معظم واجهات API على الويب بيانات JSON وتستقبلها. يرسل العميل طلبًا مع الترويسة Content-Type: application/json، فيرد الخادم بـ JSON، ثم يحوّله البرنامج إلى كائنات أصلية باستخدام JSON.parse في JavaScript، أو json.loads في Python، أو json_decode في PHP. كما يُستخدم JSON في ملفات الإعدادات مثل package.json و tsconfig.json، وفي قواعد بيانات المستندات مثل MongoDB، وفي المخرجات المنظَّمة لنماذج الذكاء الاصطناعي.
أخطاء JSON الشائعة
- فاصلة زائدة بعد العنصر الأخير:
[1, 2,] - علامات اقتباس مفردة أو مفاتيح بلا علامات اقتباس:
{'a': 1}،{a: 1} - تعليقات مثل
// note - فاصلة أو قوس مفقود بين العناصر
- قيم JavaScript أو Python مثل
undefinedأوNaNأوTrue
الصق بياناتك في أداة التحقق من صحة JSON لترى السطر والعمود الدقيقين للمشكلة، أو دع ميزة «إصلاح» تصلحها تلقائيًا.
JSON5 و JSONC و JSON Lines
- JSON5 – مجموعة شاملة أكثر مرونة للملفات المكتوبة يدويًا: تعليقات، وفواصل ختامية، وعلامات اقتباس مفردة، ومفاتيح بلا علامات اقتباس، وأرقام سداسية عشرية. لا تستطيع محللات JSON القياسية قراءتها.
- JSONC – JSON مع التعليقات، ويُستخدم في إعدادات VS Code وفي
tsconfig.json. - JSON Lines / NDJSON (
.jsonl) – قيمة JSON واحدة في كل سطر، وهو مثالي للسجلات ولبث مجموعات البيانات الكبيرة. - GeoJSON – JSON للمعالم الجغرافية، ومعرَّف في RFC 7946.
الأسئلة الشائعة
هل JSON لغة برمجة؟
لا. JSON صيغة بيانات: تصف البيانات لكنها لا يمكن أن تحتوي على منطق أو دوال أو تعليقات.
هل JSON هو نفسه كائن JavaScript؟
لا. JSON نص يشبه صيغة كائن JavaScript الحرفية، لكنه أكثر صرامة: تحتاج المفاتيح والسلاسل النصية إلى علامات اقتباس مزدوجة، ولا يُسمح بالدوال ولا بـ undefined ولا بالتعليقات. ويحوّل JSON.parse النص إلى كائن حقيقي.
كيف أنشئ ملف JSON؟
اكتب البيانات في أي محرر نصوص وفق القواعد السابقة، واحفظها بترميز UTF-8 وبامتداد .json. وتحقق منها باستخدام أداة التحقق من صحة JSON قبل استخدامها.
آخر تحديث: