كيفية الاستخدام
- الصق JSON في مربع الإدخال، أو اضغط على «جرّب مثالًا».
- اختر مسافة البادئة (مسافتان أو 4 مسافات أو علامة جدولة)، ويمكنك أيضًا ترتيب المفاتيح أبجديًا.
- اقرأ النتيجة المنسّقة على اليمين. اضغط على «تصغير» لإزالة كل المسافات البيضاء.
- إذا احتوى JSON على خطأ نحوي، فأصلحه عند السطر والعمود الموضّحين، ثم انسخ النتيجة أو نزّلها كملف .json.
كيف تعمل الأداة
يحلّل المنسّق النص باستخدام محلّل JSON المدمج في المتصفح، ثم يعيد كتابته بمسافة البادئة التي تختارها، لتكون النتيجة دائمًا JSON صالحًا ومتناسق التنسيق. يكتب خيار التصغير البيانات نفسها من دون مسافات أو فواصل أسطر، وهي أصغر صيغة للإرسال عبر الشبكة أو التخزين في قيمة إعداد.
إذا كان الإدخال JSON غير صالح، يبحث مدقّق صارم صغير عن أول مشكلة ويعرض رقم السطر والعمود، مع توضيح مباشر للأخطاء الشائعة: الفواصل الزائدة، وعلامات الاقتباس المفردة، والمفاتيح غير المحاطة بعلامات اقتباس، والتعليقات، والقيم مثل NaN أو undefined الموجودة في JavaScript وغير الموجودة في JSON. تختلف صياغة أخطاء JSON في المتصفحات، لذلك تحسب الأداة موضع الخطأ بدلًا من استخلاصه من رسالة المتصفح.
انتبه إلى حدود إعادة التنسيق. تُخزّن الأرقام بصيغة الفاصلة العائمة مزدوجة الدقة، لذا تفقد الأعداد الصحيحة الأكبر من 9,007,199,254,740,991 (2^53 − 1)، مثل بعض معرّفات قواعد البيانات، دقتها: يتحول 9007199254740993 إلى 9007199254740992. خزّن هذه المعرّفات كسلاسل نصية. إذا احتوى كائن على المفتاح نفسه مرتين، فستُحتفظ بالقيمة الأخيرة فقط. تضع JavaScript المفاتيح التي تبدو كأعداد صحيحة ("1" و"20") قبل المفاتيح الأخرى دائمًا، سواء رتّبت المفاتيح أم لا. تعمل الأداة مع مدخلات يصل حجمها إلى بضعة ميغابايتات؛ أما إذا تجاوزت نحو 300,000 حرف، فيتوقف التنسيق المباشر مؤقتًا ويجب الضغط على «تنسيق» لتظل الكتابة سريعة الاستجابة.
أمثلة
قراءة استجابة API
تعيد REST API سطرًا طويلًا مثل {"user":{"id":7,"tags":["a","b"]}}. عند التنسيق بمسافتين، يظهر كل مفتاح في سطر مستقل وتُدرج مصفوفة tags، لتتمكن من رؤية البنية بلمحة.
مقارنة ملفي إعداد
يسرد ملفا إعداد JSON الإعدادات نفسها بترتيبين مختلفين. نسّقهما مع تفعيل «ترتيب المفاتيح من A إلى Z»؛ ستصبح المخرجات متطابقة الترتيب، ولن يُظهر الفرق النصي سوى الاختلافات الفعلية.
العثور على فاصلة زائدة
يتعذر تحميل ملف package.json عُدّل يدويًا. عند لصقه، تظهر الرسالة «فاصلة زائدة» عند السطر 14 والعمود 5، وتشير إلى الفاصلة بعد التبعية الأخيرة.
الأسئلة الشائعة
لماذا تغيّر رقم كبير بعد التنسيق؟
تخزّن محلّلات JSON في المتصفحات الأرقام بصيغة الفاصلة العائمة ذات 64 بت، التي لا تمثّل الأعداد الصحيحة بدقة إلا حتى 9,007,199,254,740,991. وتُقرّب الأعداد الصحيحة الأكبر إلى أقرب قيمة يمكن تمثيلها. إذا كانت بياناتك تتضمن معرّفات من 64 بت، فأرسلها كسلاسل نصية.
هل يمكنه تنسيق JSON الذي يحتوي على تعليقات أو فواصل زائدة (JSON5 وJSONC)؟
لا. تلتزم الأداة بمعيار JSON (RFC 8259) بدقة، وتعرض التعليقات والفواصل الزائدة كأخطاء مع تحديد موضعها لتتمكن من إزالتها. وهذا ما تفعله أيضًا معظم محلّلات JSON في لغات البرمجة.
هل يؤدي ترتيب المفاتيح إلى تغيير بياناتي؟
لا تتغير أي قيم، وإنما يتغير ترتيب المفاتيح داخل الكائنات فقط. فحسب تعريف JSON، لا ترتيب لمفاتيح الكائنات، لذا تظل النتيجة مكافئة. ولا يُعاد ترتيب المصفوفات أبدًا، لأن ترتيب عناصرها له معنى.
ما حجم الملف الذي يمكنني تنسيقه؟
تعمل ملفات بحجم بضعة ميغابايتات في متصفح حديث على الكمبيوتر. أما المدخلات التي يزيد حجمها على نحو 300,000 حرف، فتنتظر الأداة حتى تضغط على «تنسيق» أو «تصغير»، بدلًا من إعادة التنسيق مع كل ضغطة مفتاح. وقد تجعل المخرجات الكبيرة جدًا التمرير في مربع النص بطيئًا على الهواتف.
هل يُرفع ملف JSON إلى أي مكان؟
لا. يجري التحليل والتنسيق في متصفحك باستخدام JavaScript. ولا يُرسل النص إلى خادم أو يُخزّن.
الخصوصية
يُحلّل JSON الخاص بك ويُنسّق في متصفحك فقط. ولا يُرفع أو يُسجّل أو يُخزّن، كما لا يُضمّن في بيانات التحليلات.