§

الصق JSON الذي تريد تنسيقه أو التحقق منه أو ضغطه.

يُجرى التحليل والتحقق والتنسيق بالكامل داخل متصفحك باستخدام محلل JSON الأصلي.
§

التحقق

في انتظار الإدخال.
§

Output

text

في مصر يستخدم المطوّرون المُنسجلون لدى ITIDA حمولات JSON يوميًا عند التكامل مع منظومة الفاتورة الإلكترونية لمصلحة الضرائب المصرية ETA، حيث تُرسَل بنود الفاتورة وbarCode وsignature ضمن طلب POST موقَّع رقميًا بصيغة CADES-BES. كذلك تنشر بنوك InstaPay وMeeza وVodafone Cash وFawry مخططات JSON Schema لواجهات تحويل الأموال، ويستخدم المطوّرون أدوات jq لاستخراج الحقول داخل خطوط CI/CD محلية. تتيح هذه الأداة تنسيق JSON والتحقق من صحّتها داخل المتصفح بالكامل، فلا تُرفَع البيانات التجارية الحسّاسة أو مفاتيح التوقيع الخاصة بشركات التجارة الإلكترونية إلى خادم خارجي، مما يدعم الالتزام بقواعد حماية البيانات المحلية.

ما هو تنسيق JSON؟

JSON (JavaScript Object Notation) صيغة خفيفة لتبادل البيانات قائمة على النص، مُعرَّفة في RFC 8259 و ECMA-404. مستند JSON عبارة عن شجرة من ستة أنواع من القيم — object و array و string و number و boolean و null. التنسيق يضيف مسافات بيضاء ليتمكن البشر من قراءة هذه الشجرة؛ والضغط يحذف هذه المسافات لتنقلها الآلات أسرع عبر الشبكة.

كيف يعمل تنسيق JSON؟

تتم معالجة المدخلات بالكامل داخل متصفحك باستخدام الدالتين المدمجتين JSON.parse و JSON.stringify. الخطوات الرئيسية هي:

  1. يُقرأ المدخل من حقل النص وتُحذف المسافات البيضاء في بدايته ونهايته.
  2. يحلل المتصفح المدخل عبر JSON.parse. إذا لم يكن المدخل JSON صالحاً، يطلق المحلل خطأ SyntaxError يُلتقط ويُعرض مع رقم السطر والعمود اللذين توقف عندهما.
  3. حين يكون المدخل صالحاً، يُعاد إصدار القيمة المحللة باستخدام JSON.stringify(value, null, indent)، حيث indent هي المسافة البادئة التي اخترتها (مسافتان، أربع مسافات، أو علامة جدولة).
  4. للضغط، تُستدعى JSON.stringify(value) بدون وسيط للمسافة البادئة، فينتج أقصر شكل صالح للقيمة نفسها بدون أي مسافات زائدة.
  5. يُكتب الناتج في حقل نصي للقراءة فقط، وتُبلِّغ لوحة الحالة إما JSON صالح أو الخطأ الدقيق في التحليل، لتتمكن من تصحيح المصدر مباشرةً.

لماذا نُنسّق JSON باستخدام هذه الأداة؟

  • الخصوصية: كل عملية تحليل وتنسيق وضغط تحدث داخل متصفحك. JSON لا يصل أبداً إلى خوادمنا.
  • تحقق فوري: الفواصل في غير موضعها، والمفاتيح غير المقتبسة، وعلامات الاقتباس الأحادية، والفواصل الزائدة في النهاية يُبلَّغ عنها مع إشارة دقيقة لرقم السطر والعمود لتقفز مباشرةً إلى موضع الخطأ.
  • ناتج جاهز للمراجعة: يُنتج JSON المنسق بمسافة بادئة متسقة فروقات نظيفة في مراجعة الشيفرة وملفات إعداد سهلة القراءة.
  • ضغط جاهز للإنتاج: حذف المسافات الزائدة يقلِّص حمولات واجهات برمجة التطبيقات وملفات البيان وعينات الاختبار المدمجة قبل نشرها.

ما هي التطبيقات الشائعة لتنسيق JSON؟

تظهر قراءة JSON وكتابته في معظم مجالات تطوير الويب والأدوات:

  • تصحيح APIs: لصق استجابة خام من curl أو من لوحة الشبكة للتحقق من الشكل، أو لإيجاد خطأ إملائي في مفتاح، أو لاكتشاف قوس إغلاق مفقود.
  • تنظيف الإعدادات: إعادة تنسيق package.json أو tsconfig.json أو ملفات بيان CI المعدلة يدوياً لتجتاز المراجعة والـ linters.
  • قراءة السجلات: إعادة تنسيق سطور سجلات application/json المضغوطة بحيث يصطفّ كل حقل تحت الذي يليه، ثم ضغطها مرة أخرى قبل لصقها في تذكرة.

كيف يبدو مثال على تنسيق JSON؟

إذا ألصقت {"id":42,"name":"Ada Lovelace","email":"ada@example.com","roles":["admin","engineer"]} وضغطت زر التنسيق بمسافة بادئة من مسافتين، فإنه يتمدد إلى تسعة أسطر، يحتل فيها كل حقل من الكائن وكل عنصر من المصفوفة سطراً مستقلاً. والضغط على زر الضغط على النص المنسق يعيده إلى نفس السلسلة المضغوطة بايتاً ببايت.

يحلل هذا المُنسِّق JSON باستخدام المحرك نفسه الذي تعتمده بيئة تشغيل Node.js أو Deno أو متصفحك، ويُنتج ناتجاً يمكنك لصقه مباشرة في الشيفرة أو الإعدادات أو السجلات.