تخطَّ إلى المحتوى الرئيسي
Tooletto

مُنسِّق JSON

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

  • الملفات لا تغادر جهازك أبدًا
  • مجاني، بدون تسجيل
  • بدون علامات مائية
  • يعمل دون اتصال بعد التحميل
Loading tool…

كيفية استخدام مُنسِّق JSON

  1. 1

    ألصق JSON الخاص بك

    الصق أو اكتب JSON في حقل الإدخال. يُحلَّل أثناء الكتابة.

  2. 2

    اختر نمطًا

    اختر مسافة بادئة بمسافتين أو أربع مسافات أو تبويبات، أو بدّل إلى إخراج مُصغَّر.

  3. 3

    انسخ النتيجة

    انسخ JSON المُنسَّق إلى حافظتك أو نزّله كملف .json.

لماذا يمكن أن يكون نفس النص JSON غير صالح

JSON مجموعة فرعية صارمة مما تسمح به حرفيات كائن JavaScript، والفجوة بين الاثنين هي بالضبط من أين تأتي معظم أخطاء "JSON غير صالح". فاصلة ختامية بعد آخر عنصر في مصفوفة أو كائن قانونية في JavaScript الحديثة لكنها خطأ صياغة في JSON. السلاسل بعلامات اقتباس مفردة تعمل جيدًا في JavaScript ويرفضها JSON مباشرة، الذي يتطلب علامات اقتباس مزدوجة. مفاتيح الكائن دون علامات اقتباس — كتابة `{name: "value"}` بدلًا من `{"name": "value"}` — اختصار صالح في JavaScript وغير صالح في JSON. لا شيء من هذا حالات حدّية غامضة؛ إنها بالضبط العادات المُكتسَبة من كتابة JavaScript التي تُنتج بصمت مستندًا يبدو JSON لكنه ليس كذلك.

التعليقات هي المصدر الشائع الآخر للالتباس، لأن عددًا لا بأس به من صيغ ملفات التكوين التي تبدو JSON — وحتى بعض الصيغ المشتقة من JSON المستخدمة عمدًا — تسمح بتعليقات `//` أو `/* */`، بينما مواصفات JSON نفسها ليس بها أي صياغة تعليقات على الإطلاق. نسخ ملف تكوين "JSON" يحتوي فعلًا تعليقات في مُحلِّل صارم يفشل فورًا، والحل إما إزالة التعليقات أو الاعتراف بأن الملف لم يستخدم JSON قياسيًا من الأساس.

لماذا موضع الخطأ الدقيق مهم

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

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

التنسيق مقابل التصغير — جمهوران مختلفان لنفس البيانات

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

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

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

هل يُرسَل JSON الخاص بي إلى خادم؟

لا. يستخدم التحليل والتنسيق محرك JSON المُضمَّن في المتصفح. لا شيء يُنقَل أو يُسجَّل أو يُخزَّن، مما يجعله آمنًا لاستجابات API التي تحتوي بيانات إنتاج.

لماذا يقول إن JSON الخاص بي غير صالح؟

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

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

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

هل يمكنه التعامل مع ملفات كبيرة جدًا؟

المستندات حتى بضعة ميغابايتات تُنسَّق فورًا. بعد حوالي 10 ميغابايت، يصبح مُحلِّل JSON الخاص بالمتصفح نفسه عنق الزجاجة بغض النظر عن الأداة المستخدمة.

مهام شائعة لأداة مُنسِّق JSON