ما هو JSON؟
JSON (JavaScript Object Notation) صيغة نصية للبيانات المهيكلة تتكون من كائنات ومصفوفات ونصوص وأرقام وقيم منطقية وnull. يعرّفها المعياران RFC 8259 وECMA-404، وهي مستقلة عن لغة البرمجة، وتُعدّ الصيغة الافتراضية لواجهات الويب لأنها مضغوطة وقابلة للقراءة وسهلة التحليل.
كيفية استخدام منسّق JSON
- الصق JSON أو اكتبه في لوحة الإدخال (أو اضغط «تحميل مثال»).
- اختر نمط المسافة البادئة، وفعّل خيار «ترتيب المفاتيح» (Sort keys) إن أردت.
- يظهر الناتج المنسّق فوراً؛ أصلح أي خطأ يُبلَّغ عنه مع رقم السطر والعمود.
- انسخ النتيجة أو نزّلها كملف JSON.
مزايا منسّق JSON
- تنسيق أنيق بمسافتين أو 4 مسافات أو علامات جدولة (tabs)، أو إخراج مصغّر بالكامل
- تنسيق فوري أثناء الكتابة، مع زرّي النسخ والتنزيل
- ترتيب اختياري للمفاتيح في جميع مستويات التداخل للحصول على مستندات قياسية سهلة المقارنة
- أخطاء صياغة دقيقة مع رقم السطر والعمود وتلميح ومقتطف من النص المسبّب للخطأ
- إحصاءات المستند: الحجم وعدد المفاتيح وعمق التداخل وأنواع القيم
- تنبيه عند وجود أعداد صحيحة تتجاوز النطاق الآمن في JavaScript
مثال على منسّق JSON
تنسيق استجابة API مصغّرة
الإدخال:
{"user":{"id":7,"name":"Layla"},"roles":["admin","editor"],"active":true}النتيجة:
{
"user": {
"id": 7,
"name": "Layla"
},
"roles": [
"admin",
"editor"
],
"active": true
}الأسئلة الشائعة حول منسّق JSON
هل يغادر ملف JSON الخاص بي المتصفح؟
لا. يعمل التنسيق بالكامل في متصفحك باستخدام محلّل JSON المدمج؛ ولا يُرفع أو يُسجَّل أي شيء.
هل يمكنني تنسيق ملفات كبيرة جداً؟
نعم — تُنسَّق المستندات التي يصل حجمها إلى 2 ميغابايت فوراً. أما الحمولات الأكبر من ذلك، فصغّرها أولاً أو قسّم البيانات.
ما وظيفة خيار «ترتيب المفاتيح» (Sort keys)؟
يرتّب مفاتيح الكائنات أبجدياً في جميع مستويات التداخل، دون تمييز بين الأحرف الكبيرة والصغيرة ووفق ترتيب ثابت لا يتبع لغة متصفحك، بحيث ينتج عن مستندين لهما المحتوى نفسه نصٌّ متطابق، وهو ما يسهّل المقارنات ومراجعات الكود كثيراً. أما المفاتيح المكوّنة من أرقام فتُرتَّب كنص، لذا يأتي "10" قبل "9".
لماذا يُبلغ المنسّق عن خطأ في ملفي؟
JSON صارم: يجب أن تكون المفاتيح بين علامتي اقتباس مزدوجتين، ولا يُسمح بالفواصل الزائدة في النهاية، والتعليقات ممنوعة. تعرض رسالة الخطأ رقم السطر والعمود وتلميحاً حول السبب المحتمل.
هل ستتغير الأعداد الصحيحة الكبيرة؟
لا يمكن لـ JavaScript تمثيل الأعداد الصحيحة التي تتجاوز 2^53 − 1 بدقة. تنبّهك الأداة عند اكتشاف مثل هذه القيم حتى تتمكن من الاحتفاظ بها كسلاسل نصية.
ملاحظات تقنية
يعتمد التحليل على دالة JSON.parse المدمجة في المتصفح، لذا يقبل المنسّق ما يسمح به معيار RFC 8259 تماماً ولا شيء غير ذلك. وعند فشل التحليل، تحوّل الأداة موضع الخطأ الذي يبلّغ عنه المحرك إلى رقم سطر وعمود، ثم تفحص النص المحيط بحثاً عن الأخطاء الشائعة مثل علامات الاقتباس المفردة أو الفواصل الزائدة أو المفاتيح غير المقتبسة أو التعليقات.
عند ترتيب المفاتيح يُكتب كل كائن بمفاتيحه وفق ترتيب أبجدي ثابت لا يميّز بين الأحرف الكبيرة والصغيرة، في كل مستوى من مستويات التداخل. وتكتب الأداة الناتج المرتّب بنفسها، لأن كائن JavaScript يضع دائماً المفاتيح التي تشبه الأعداد الصحيحة مثل "10" في المقدمة. ولا يُعاد ترتيب المصفوفات أبداً لأن ترتيبها جزء من البيانات.
المراجع
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Formatقواعد JSON: الكائنات والمصفوفات والنصوص والأرقام والقيم الثلاث الثابتة، وUTF-8 كترميز للتبادل.
- ECMA-404: The JSON Data Interchange Syntaxصياغة JSON كمعيار من Ecma، متوافقة مع RFC 8259.
- Introducing JSONالوصف الأصلي المختصر لـ JSON مع مخططاته النحوية.