KeroTools

منسّق JSON — تنسيق وتحقق وتصغير

نسّق أو تحقق من صحة أو صغّر أكواد JSON فوراً داخل متصفحك — النتيجة تظهر لحظياً أثناء الكتابة.

الإدخال
0 حرف
الناتج

نصّك يبقى على جهازك

لا شيء يُحذف لاحقاً

آمن للاستجابات الحية

يعمل في كل متصفح حديث

كيف تعمل

  1. 1

    الصق JSON

    أدخل استجابة أو ملف إعدادات أو أي شيء نُووِلته.

  2. 2

    اقرأ النتيجة أو الخطأ

    المدخل الصحيح يعود مُزاحاً؛ وغير الصحيح يخبرك بالموضع الذي توقّف عنده.

  3. 3

    انسخ ما تحتاج

    خذ النسخة المقروءة إلى مراجعة، أو المضغوطة إلى طلب.

لماذا تستخدم هذه الأداة

الخطأ يخبرك أين

المستند غير الصحيح يُبلغ عن الموضع الذي فشل عنده، فتصلح سطراً بدل إعادة قراءة الحمولة كلها.

تجميل وضغط في الاتجاهين

أزِحه لتقرأه، وجرّده لترسله — البيانات نفسها بالشكل الذي تحتاجه اللحظة.

الأعداد الكبيرة تبقى سليمة

المعرّفات التي تتجاوز المدى الآمن لأعداد JavaScript لا تُقرَّب بصمت في الطريق.

ترتيب المفاتيح محفوظ

التنسيق يغيّر المسافات لا البنية، فتنجو الحمولة الموقَّعة أو المقارَنة بالبايت.

لا شيء يُرفع

يُحلَّل النصّ في متصفحك — واستجابة واجهة برمجية تحمل رمز وصول لا تغادر التبويب.

مجاني بلا حساب

بلا تسجيل، وبلا علامة مائية، وبلا حدّ لكمّ ما تنسّقه.

لست هنا من أجل الإزاحة

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

الخطأ لا يكاد يكون حيث تقول الرسالة

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

أربعة أشياء صحيحة في JavaScript وباطلة في JSON

هذا أكبر مصدر منفرد لعبارة «لكنه يبدو سليماً لي». فJSON لغة أصغر بكثير من حرفيّات كائنات JavaScript التي تشبهها، وأربع عادات يومية تنتج مستندات تقبلها وحدة تحكّم المتصفح ويرفضها المحلّل. الفواصل الزائدة أشيعها — فـ‎{"a": 1,}‎ سليمة في JavaScript الحديثة وغير قانونية في JSON. وعلامات الاقتباس المفردة ثانياً: على المفاتيح والسلاسل أن تستعمل الاقتباس المزدوج دائماً. والمفاتيح غير المقتبسة ثالثاً، فـ‎{name: "x"}‎ تفشل حيث تنجح ‎{"name": "x"}‎. والتعليقات رابعاً — فلا تعليقات في JSON، وسطر ‎//‎ يشرح قيمة إعداد يُبطل الملف كله. فإن كان المستند مكتوباً بخطّ اليد أو منسوخاً من شفرة، فافحص هذه الأربعة قبل أي شيء آخر، فهي مجتمعة تفسّر معظم JSON الباطل الذي يلصقه الناس.

الأعداد الكبيرة هي حيث تفقد الرحلة ذهاباً وإياباً بيانات

هذه هي الخفيّة وهي تكلّف الناس وقتاً حقيقياً. لـJSON نوع عدديّ واحد وبلا حدّ دقة معلن، لكن كل ما يحلّل JSON في JavaScript يخزّن تلك الأعداد أعداداً مزدوجة الدقة، وهي لا تمثّل الصحيحة تمثيلاً تاماً إلا حتى نحو تسعة كوادريليونات — ‎2^53‎. وما بعد ذلك تُفقد خانات. وأهمية هذا أن أنظمة كثيرة تسكّ معرّفات في ذلك المدى بالضبط: معرّفات snowflake في منصات المحادثة، وبعض متتاليات قواعد البيانات، والطوابع الزمنية بالنانوثانية، كلها تنتج أعداداً صحيحة من ثماني عشرة وتسع عشرة خانة. حلّل مستنداً كهذا وأعِد بثّه بسذاجة فتتغير الخانات الأخيرة، بصمت، في قيمة ما تزال تبدو معرّفاً معقولاً. فإن كانت حمولتك تحمل معرّفات رقمية طويلة، فعاملها سلاسل من الطرف إلى الطرف، ولا تثق بأداة تُدوّرها عبر أعداد JavaScript دون أن تقول ذلك.

التجميل والضغط يجيبان عن سؤالين مختلفين

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

لماذا يهمّ التنسيق المحلي في هذا النوع من النصّ

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

أخطاء شائعة يجب تجنّبها

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

كيف تُقارن

الجانبهذه الأداةمنسّقات عبر الإنترنتإضافة محرر
إرسال المحتوى إلى خادملا يحدث أبداًغالباً نعملا
إعداد مطلوبلا شيءلا شيءتثبيت وضبط
أخطاء دقيقة الموضعنعممتفاوتنعم
يعمل دون فتح مشروعنعمنعمغالباً لا
حساب أو تسجيلغير مطلوبمطلوب غالباًغير مطلوب
السعرمجانيمجاني / باقات مدفوعةمجاني / مدفوع

المزايا

تحقّق عند اللصق

تعرف أيُحلَّل أم لا قبل أن تفعل به أي شيء آخر.

أخطاء دقيقة الموضع

الفشل يُبلغ عن موضع توقّف المحلّل، لا عن أن هناك خطأً فحسب.

إزاحة قابلة للضبط

مسافتان أو أربع أو مسافات جدولية، بحسب ما سيعود إليه الملف.

ضغط بخطوة واحدة

تُجرَّد المسافات فتبلغ البيانات أصغر حجم يمكنها شغله.

الحفاظ على يونيكود

المحتوى العربي والتركي والحروف المشكولة والرموز التعبيرية يمرّ دون تغيير.

يتحمّل المستندات الكبيرة

حمولات بعدة ميغابايتات تُنسَّق دون رفع ولا طابور.

بلا تثبيت

بلا إضافة محرر ولا بيئة تشغيل ولا اعتماديات — يعمل على صفحة الويب.

جاهز للعربية وRTL

واجهة كاملة بثماني لغات، منها العربية من اليمين إلى اليسار.

آمن افتراضياً

يُقدَّم عبر HTTPS، بلا تتبّع للمحتوى وبلا رفع إلى طرف ثالث.

من يستخدمها

المطوّرون

معرفة أين تنكسر الاستجابة دون إسقاطها في ملف مسوّدة أولاً.

مكاملو الواجهات البرمجية

قراءة حمولة من نقطة نهاية شريك قبل كتابة أي شيء عليها.

مهندسو ضمان الجودة

مقارنة استجابتين حقلاً حقلاً بعد تجميل الاثنتين.

مهندسو الدعم

جعل إعدادات زوّدها عميل مقروءة بما يكفي لرصد الخلل فيها.

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

لا. كل شيء يعمل محلياً في متصفحك — نصّك لا يُرفع أو يُخزَّن أو يُشارَك أبداً.

نعم — مجاني تماماً، بلا حساب وبلا حدود.