منسّق ومدقّق JSON
الصق نص JSON ليُحلَّل بمحلّل المتصفح نفسه (JSON.parse)، ثم نسّقه أو صغّره ونزّله. إذا كان النص غير صالح فسترى رسالة المحلّل وموقع الخطأ بالسطر والعمود، ولن تُصلح الأداة أي شيء من تلقاء نفسها. وبذلك تجمع الأداة بين تنسيق JSON والتحقق من صحته (JSON Validator) في صفحة واحدة.
جارٍ تحميل الأداة…
المعالجة والخصوصية: تُحسب النتيجة داخل متصفحك ولا تُرسل بياناتك إلى أي خادم.
شاهد طريقة الاستخدام
خطوات الاستخدام
- الصق JSON
- النتيجة: JSON منسق وصحيح
طريقة الاستخدام
- الصق نص JSON في خانة المدخلات، أو اضغط «تحميل مثال».
- اختر «تنسيق» مع مقدار الإزاحة (مسافتان أو 4 مسافات أو Tab)، أو اختر «تصغير» لحذف المسافات.
- فعّل «ترتيب المفاتيح أبجديًا» إن أردت ترتيبًا ثابتًا للمفاتيح في كل المستويات.
- إذا ظهر خطأ فاقرأ السطر والعمود واضغط «انتقل إلى موضع الخطأ» ثم صحّحه بنفسك.
- انسخ النتيجة أو نزّلها ملفًا بصيغة JSON.
مثال
النص {"b":[1,2],"a":{"c":null}} يصبح بعد التنسيق بمسافتين تسعة أسطر، أولها { ثم "b": [ وهكذا، ويرتفع حجمه من 26 بايت إلى 57 بايت. العمق 2، وعدد المفاتيح 3.
النص المكوّن من ثلاثة أسطر: { ثم "a": 1, ثم } غير صالح بسبب الفاصلة الزائدة، وتعرض الأداة الخطأ عند السطر 3 والعمود 1، أي عند القوس } الذي جاء حيث يُنتظر اسم مفتاح.
الحدود والملاحظات
- الحد الأقصى 5 ميغابايت. قِسنا في Chromium على حاسوب مكتبي ملفًا حجمه 5 ميغابايت (نحو 62 ألف عنصر) فاستغرق تحليله وتنسيقه وعرضه نحو 3 ثوانٍ. الملفات الأكبر تُرفض.
- خانة التحرير في المتصفح تصبح بطيئة مع النصوص الطويلة (قِسنا نحو 4 ثوانٍ لكل ميغابايت من نص عربي ملصوق). لذلك افتح الملفات الكبيرة بزر «افتح ملف JSON»: ما يزيد على 200 ألف حرف يُعالَج من الذاكرة، ويُعرض من الناتج أول 200 ألف حرف فقط، أما النسخ والتنزيل فيشملان الناتج كاملًا.
- لا تصلح الأداة JSON غير الصالح: التعليقات، وعلامات الاقتباس المفردة، والفواصل الزائدة، وNaN، والمفاتيح غير المقتبسة كلها أخطاء وفق المعيار RFC 8259.
- الأعداد الصحيحة الأكبر من 9007199254740991 تفقد دقتها في JavaScript عند إعادة كتابتها، وتعرض الأداة تحذيرًا بها. احفظ هذه القيم كنصوص إن كانت معرّفات.
- إذا تكرّر مفتاح داخل الكائن نفسه تبقى القيمة الأخيرة فقط، وتعرض الأداة تحذيرًا بالمفاتيح المكررة. كما يُعاد كتابة الأعداد بصيغتها المختصرة (1.50 تصبح 1.5).
- نص رسالة المحلّل يأتي من المتصفح بالإنجليزية ويختلف بين المتصفحات. عندما لا تذكر الرسالة موقعًا تحدده الأداة بمسح النص.
- في خانتي النص قد يبدو ترتيب الأجزاء في السطر الذي يجمع العربية مع الأرقام معكوسًا على الشاشة، وهذا سلوك عرض النصوص ثنائية الاتجاه في المتصفح. البيانات نفسها محفوظة بترتيبها الصحيح في النسخ والتنزيل.
- يُحسب العمود بوحدات UTF-16، وقد لا تقع علامة ^ تحت الحرف تمامًا في سطر يحتوي نصًا عربيًا، لذلك يُظلَّل الحرف المخالف أيضًا.
أسئلة شائعة عن هذه الأداة
هل تغيّر الأداة الحروف العربية أو تحوّلها إلى رموز مثل \uXXXX؟
لا. تبقى المفاتيح والقيم العربية والرموز التعبيرية كما هي. وإذا كان النص الأصلي مكتوبًا بصيغة \u0645 فسيظهر في النتيجة الحرف نفسه «م» لأن القيمتين متطابقتان في JSON.
لماذا يشير الخطأ إلى القوس } وليس إلى الفاصلة الزائدة؟
لأن المحلّل يقرأ الفاصلة ثم ينتظر اسم مفتاح جديد، فيجد القوس } بدلًا منه. موضع الخطأ هو أول حرف لم يعد النص صالحًا عنده، وغالبًا يكون السبب قبله مباشرة.
هل يغيّر «ترتيب المفاتيح» ترتيب عناصر المصفوفات؟
لا. تُرتَّب مفاتيح الكائنات فقط في كل المستويات، أما عناصر المصفوفات فتبقى بترتيبها لأن ترتيبها جزء من البيانات.
كيف أتحقق من صحة ملف JSON؟
الصق النص أو افتح الملف بزر «افتح ملف JSON»: إن كان صالحًا يُنسَّق وتظهر إحصاءاته، وإن لم يكن تظهر رسالة المحلّل مع رقم السطر والعمود. فالنص {"a": 1,} غير صالح بسبب الفاصلة الزائدة قبل القوس. ويتبع التحقق معيار JSON الصارم RFC 8259، فالتعليقات وعلامات الاقتباس المفردة أخطاء أيضًا.
ما الفرق بين تنسيق JSON وتصغيره؟
التنسيق يضيف أسطرًا ومسافات إزاحة ليسهل قراءة JSON، والتصغير يحذف كل المسافات غير الضرورية ليصغر الحجم، والبيانات نفسها لا تتغير في الحالتين. فالنص {"a":1,"b":[1,2]} حجمه 17 بايت مصغّرًا، ويصبح بعد التنسيق بمسافتين 7 أسطر و39 بايت.
