شو هو JSON؟
JSON (اختصار JavaScript Object Notation) هو أشهر صيغة لتبادل البيانات بين المواقع والتطبيقات والـ APIs. بيتكوّن من كائنات { } فيها أزواج "مفتاح": قيمة، وقوائم [ ]، والقيم ممكن تكون نص بين علامتي تنصيص مزدوجة أو رقم أو true / false أو null.
أشهر أخطاء JSON وكيف بتصلّحها
- فاصلة زائدة بعد آخر عنصر:
[1, 2,]مسموحة بجافاسكربت بس مش بـ JSON. - علامات تنصيص مفردة:
{'name': 'x'}غلط، والصح{"name": "x"}. - مفاتيح بدون تنصيص:
{name: "x"}غلط، كل مفتاح لازم يكون نص بين "". - تعليقات
//أو/* */: المعيار ما بيسمح فيها نهائياً. - قيم مش موجودة بـ JSON متل
undefinedوNaNوTrueوNone. - أرقام بتبلّش بصفر متل
0123: إذا هو رقم هاتف أو رمز، خلّيه نص.
الأداة بتفحص حسب المعيار الرسمي RFC 8259، وبتقلك رقم السطر والعمود ووصف الغلط بالعربي، وبتعرض الأسطر اللي حواليه مع إشارة ^ تحت الحرف المقصود.
ميزات بتفرق
- الأرقام الكبيرة بتضل متل ما هي: كتير من الأدوات بتحوّل
12345678901234567890لـ12345678901234567000بدون ما تنتبه. هون الرقم بيضل حرفياً متل ما كتبتو. - ترتيب المفاتيح أبجدياً بكل المستويات، مفيد لما بدك تقارن ملفين.
- عرض شجري بينفتح وبيتسكّر، مناسب للملفات الكبيرة.
- تنبيه للمفاتيح المكررة اللي المعيار ما بيمنعها بس بتسبّب مشاكل.
- خصوصية كاملة: البيانات ما بتطلع من جهازك، فتقدر تنسّق ردود API فيها توكنات بأمان.
أسئلة شائعة
- هل تُرسَل بيانات JSON التي ألصقها إلى خادم؟
- لأ. التحليل والتنسيق بيصيروا بمتصفحك بالكامل، وما في أي بيانات بتطلع من جهازك.
- ما الفرق بين تنسيق JSON وتصغيره؟
- التنسيق بيضيف مسافات وأسطر جديدة ليصير مقروء، والتصغير بيشيل كل المسافات ليصغر الحجم قبل الإرسال أو التخزين. البيانات نفسها ما بتتغير.
- لماذا يظهر خطأ في JSON مع أنه يعمل في JavaScript؟
- لأن JavaScript أسمح من JSON: بتقبل الفواصل الزائدة والتنصيص المفرد والمفاتيح بدون تنصيص والتعليقات، وكل هدول ممنوعين بمعيار JSON.
- ما أكبر حجم ملف JSON يمكن تنسيقه؟
- لحد 50MB تقريباً، حسب ذاكرة جهازك. الملفات الكبيرة بتاخد ثانية أو اتنين.