← جميع الأدوات

منسّق ومدقّق ومُصغّر JSON

نسّق JSON وتحقّق منه وصغّره أونلاين داخل متصفحك. جمّل استجابات الـAPI الفوضوية، التقط أخطاء الصياغة، وقلّص الحجم دون رفع أي بيانات إطلاقاً.

تنسيق JSON والتحقق منه وتصغيره مباشرة في متصفحك

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

أداة تنسيق JSON من speedor.net موجودة لتعيد إليك ذلك البناء. الصق بياناتك، فتقوم الأداة بتنسيقها بشكل أنيق والتحقق منها وتصغيرها على الفور، بالكامل داخل علامة تبويب متصفحك. لا يُرفع أي شيء إلى خادم، وهو أمر بالغ الأهمية حين تكون الحمولة التي تفحصها استجابة من واجهة برمجة تطبيقات تحتوي على رموز مميزة أو سجلات عملاء أو معرّفات داخلية.

أقواس متداخلة متوهجة مجردة وبنية JSON مزاحة على خلفية نيلية داكنة
المسافات البادئة تحوّل كتلة بيانات مسطحة إلى شجرة يمكنك قراءتها فعلًا.

لماذا تجعل المسافات البادئة JSON قابلًا للقراءة من جديد

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

كما تحافظ أداة التنسيق الجيدة على ترتيب المفاتيح والقيم بدقة كما هي، فما تقرأه هو بالفعل ما أرسلته الواجهة. أنت لا تنظر إلى تقريب مُعاد عرضه؛ بل تنظر إلى البايتات نفسها، مُرتبة فقط بحيث يمكن للإنسان تحليلها بالسهولة نفسها التي تحللها بها الآلة.

التحقق والأخطاء التي توقع الجميع

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

  • الفواصل اللاحقة. يمنع JSON وضع فاصلة بعد العنصر الأخير في كائن أو مصفوفة. تتسامح JavaScript مع ذلك، وهذا تحديدًا سبب لصق المطورين له بحكم العادة.
  • علامات الاقتباس المفردة. يجب أن تستخدم السلاسل النصية والمفاتيح علامات اقتباس مزدوجة. وكثيرًا ما يؤدي نسخ كائن مباشرة من الشيفرة المصدرية إلى بقاء علامات اقتباس مفردة، فيرفضها المحلّل.
  • المفاتيح غير المقتبسة. يجب أن يكون كل مفتاح سلسلة نصية مقتبسة. أما المفاتيح المجردة، من النوع الذي يعمل بلا مشاكل في كائن JavaScript، فهي JSON غير صالح.
  • الأقواس المفقودة أو غير المتطابقة. إن قوسًا { أو [ غير مغلق، أو قوس إغلاق شارد، يفسد المستند بأكمله. تبرز أداة التنسيق المكان الذي يختل فيه التوازن.
  • التعليقات والقيم غير المعرّفة. ليس لدى JSON تعليقات ولا قيمة undefined؛ إذ يُسمح فقط بـ null والقيم المنطقية والأرقام والسلاسل النصية والمصفوفات والكائنات.

مرّر حمولة مشبوهة عبر أداة التحقق أولًا، فتظهر هذه المشاكل في ثوانٍ بدلًا من أن تظهر بعد سلسلة محيّرة من عمليات النشر الفاشلة.

بيانات متشابكة فوضوية تنحل إلى بنية متوهجة مرتبة مع توهج تحقق
التحقق يحوّل خليطًا من البيانات المشوهة إلى مستند مؤكَّد وسليم البناء.

التصغير لتقليص حجم الحمولات

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

المعالجة المحلية تحافظ على خصوصية البيانات الحساسة

لأن كل خطوة تعمل بـ JavaScript داخل متصفحك الخاص، فإن JSON الذي تلصقه لا يغادر جهازك أبدًا. وهذا ليس لطفًا تسويقيًا، بل ضمان عملي. يمكنك إدراج استجابة خام من واجهة برمجة تطبيقات مليئة برموز bearer، أو تصدير بيانات مستخدمين، أو إعداد خدمة داخلية، دون القلق من أن خادمًا تابعًا لطرف ثالث يسجّلها. أغلق علامة التبويب فتختفي البيانات. ولمن يعمل وفق قواعد التعامل مع البيانات، تزيل المعالجة المحلية وحدها فئة كاملة من المخاطر.

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

الأسئلة الشائعة

هل يُرفع JSON الخاص بي إلى خادم؟

لا. تعمل أداة التنسيق بالكامل في متصفحك باستخدام JavaScript. لا تُرسَل بياناتك إلى أي مكان أبدًا، لذا يمكنك بأمان لصق استجابات واجهات برمجة التطبيقات الحساسة أو ملفات الإعداد.

ما الفرق بين التنسيق والتصغير؟

يضيف التنسيق مسافات بادئة وفواصل أسطر لجعل JSON قابلًا للقراءة. أما التصغير فيزيل كل المسافات البيضاء الاختيارية لجعل الحمولة بأصغر حجم ممكن. والبيانات نفسها متطابقة في كلا الشكلين.

لماذا يفشل JSON الخاص بي في التحقق؟

الأسباب الأكثر شيوعًا هي الفواصل اللاحقة، وعلامات الاقتباس المفردة بدل المزدوجة، والمفاتيح غير المقتبسة، والتعليقات، والأقواس المفقودة أو غير المتطابقة. تشير أداة التحقق إلى السطر الذي تقع فيه المشكلة.

هل يمكنني استخدام علامات الاقتباس المفردة في JSON؟

لا. تتطلب مواصفة JSON علامات اقتباس مزدوجة لكل السلاسل النصية والمفاتيح. علامات الاقتباس المفردة صالحة في JavaScript لكن ليست في JSON، وهذا مصدر متكرر للأخطاء.

هل تغيّر الأداة بياناتي عند تنسيقها؟

لا. لا يضيف التنسيق سوى المسافات البيضاء أو يزيلها. أما المفاتيح والقيم وترتيبها فتبقى كما كانت تمامًا، فما تقرأه هو ما أرسلته الواجهة فعلًا.

هل هناك حد للحجم؟

لأن المعالجة تجري محليًا، يعتمد الحد العملي على جهازك ومتصفحك لا على سقف خادم. تُنسَّق استجابات واجهات برمجة التطبيقات وملفات الإعداد المعتادة على الفور.