محول مجاني

منسق JSON والتحقق منه

نسّق وتحقق من صحة JSON على الفور في متصفحك. لا حاجة للتحميل — خاص تمامًا ومجاني.

اسحب وأفلت ملف JSON هنا

يدعم ملفات .json. أو الصق JSON أعلاه.

أو

حول هذه الأداة

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

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

يوفر المنسق أيضًا تصغيرًا (العملية العكسية)، والتي تزيل كل المسافات البيضاء غير الضرورية لإنتاج أصغر JSON صالح. يعتبر الإخراج المصغر مفيدًا لنقل الإنتاج؛ الإخراج المنسق مفيد للتطوير وتصحيح الأخطاء.

لماذا تنسيق JSON

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

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

كيفية الاستخدام

الصق JSON، ثم انقر فوق تنسيق.

  1. الصق ملف JSON الخاص بك: الصق JSON الخام أو المضغوط في منطقة الإدخال. يعمل أيضًا السحب والإفلات لملفات json.
  2. اختر المسافة البادئة: الافتراضي هو 2 مسافات. استخدم 4 مسافات للمشاريع التي تتبع هذا التقليد، أو علامات التبويب إذا كانت أدواتك النهائية تتطلب ذلك.
  3. شكل: يتم تحليل الإدخال عبر JSON.parse لتأكيد الصلاحية، ثم يتم إجراء تسلسل له باستخدام JSON.stringify والمسافة البادئة المختارة. تنتج الأخطاء في الإدخال رسالة خطأ تحليلية تحدد موقع المشكلة.
  4. نسخ أو تنزيل: انسخ ملف JSON المنسق إلى الحافظة أو احفظه بتنسيق .json. يكون الإخراج مطابقًا من الناحية الهيكلية للإدخال ولكن مع وجود مسافة بيضاء متسقة.

حالات الاستخدام الشائعة

التفاصيل الفنية

يستخدم المنسق JSON.parse وJSON.stringify، وهو نفس الزوج الذي يتم شحنه في وقت تشغيل JavaScript. يتبع التحليل RFC 8259 (مواصفات JSON الحالية)، ويقبل JSON الصارم ولكن يرفض القيم الحرفية لكائنات JavaScript والتعليقات والفواصل الزائدة وامتدادات JSON5 الأخرى.

يقبل JSON.stringify وسيطة مسافة بادئة: رقم (مسافات) أو سلسلة (حرف مسافة بادئة مخصصة، مثل علامة تبويب). يعرض المنسق كلا الخيارين. يتم فرز المخرجات بترتيب المصدر للكائنات (منذ ES2015 يتم الحفاظ على ترتيب إدراج الخاصية عبر جميع المحركات الرئيسية).

حالات الحافة: الأرقام الكبيرة التي تتجاوز Number.MAX_SAFE_INTEGER تفقد الدقة عند التحليل (أحد قيود JSON المعروفة؛ استخدم قيم السلسلة للمعرفات التي تتجاوز 2^53). يتم حفظ هروب Unicode في السلاسل حرفيًا. يتم تجريد المسافة البيضاء الزائدة من كل سطر.

أفضل الممارسات

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

ما أنواع أخطاء JSON التي تكتشفها هذه الأداة؟
تكتشف الأداة الفواصل المفقودة، والأقواس/الأقواس غير المتطابقة، وهروب السلسلة غير الصالحة، والفواصل الزائدة، والسلاسل ذات علامات الاقتباس المفردة، وانتهاكات بناء الجملة الأخرى وفقًا لمواصفات RFC 8259 JSON.
هل يمكنه التعامل مع ملفات JSON الكبيرة جدًا؟
نعم. يقوم المنسق بمعالجة JSON في متصفحك باستخدام تحليل JavaScript الأصلي، لذلك فهو يتعامل مع ملفات تصل إلى عدة ميغابايت بكفاءة. بالنسبة للملفات الكبيرة جدًا (50 ميجابايت+)، يعتمد وقت المعالجة على جهازك.
هل يدعم JSON مع التعليقات (JSONC)؟
معيار JSON لا يسمح بالتعليقات. إذا كانت مدخلاتك تحتوي على تعليقات، فسوف يقوم المدقق بوضع علامة عليها كأخطاء. للحصول على دعم JSONC، قم بإزالة التعليقات قبل التنسيق.
هل سيؤدي التنسيق إلى تغيير قيم البيانات الخاصة بي؟
لا. لا يؤدي التنسيق إلا إلى ضبط المسافة البيضاء والمسافات البادئة - تظل أنواع البيانات والقيم والبنية كما هي تمامًا.
هل ميزات JSON5 مدعومة (التعليقات والفواصل اللاحقة)؟
لا. المنسق يتبع RFC 8259 بدقة. تسبب ميزات JSON5 أخطاء في التحليل. للعمل مع JSON5، قم بالتحويل إلى JSON القياسي أولاً باستخدام محلل JSON5.
هل تم تحميل JSON الخاص بي إلى الخادم؟
لا. تتم عملية التحليل والتنسيق بالكامل في متصفحك باستخدام وظائف JSON المضمنة.
هل ستفقد الأعداد الكبيرة الدقة؟
تمثل جافا سكريبت الأرقام على هيئة أعداد 64 بت، لذا فإن الأعداد الصحيحة التي تزيد عن 2^53 (حوالي 9 كوادريليون) تفقد دقتها. بالنسبة للمعرفات أو القيم الصحيحة الكبيرة الأخرى، قم بتخزينها كسلاسل في JSON.
هل يمكنني فرز المفاتيح أبجديًا؟
JSON.stringify لا يقوم بفرز المفاتيح. استخدم خطوة فرز منفصلة (أو منسقًا يدعم الفرز) لترتيب المفاتيح أبجديًا قبل عملية التسلسل.