طريقة الاستخدام
- الصق JSON في نص JSON. تُفحص النتيجة أثناء الكتابة.
- اختر الإزاحة، أو بلا مسافات (مضغوط) لجعل النص أقصر ما يمكن.
- ضع علامة على ترتيب المفاتيح من A إلى Z إن أردت الأسماء في كل كائن بالترتيب الأبجدي.
- اقرأ الصحة. وإن ذكرت سطراً وعموداً فأصلح النص هناك. وعندما تقول إنه JSON صالح، انسخ JSON المنسّق.
كيف يُفحص JSON ويُنسَّق
يحدد RFC 8259 صيغة JSON: النص صالح عندما يحمل قيمة واحدة، وغالباً كائناً أو مصفوفة، وكل اسم فيه بين علامتي اقتباس مزدوجتين. تسأل الأداة محلل JSON في المتصفح عما إذا كان النص صالحاً، فتعني النتيجة الصالحة ما تعنيه في برامجك.
عندما يكون النص صالحاً، تقرؤه الأداة مرة أخرى وتكتبه بالإزاحة التي اخترتها. وما يتغير هو المسافات وعلامات التبويب وفواصل الأسطر بين العناصر فقط. أما الأسماء والنصوص والأرقام فتُكتب كما كتبتها تماماً.
- مسافتان أو أربع أو علامة تبويب تجعل التداخل سهل القراءة. وتبقى الكائنات والمصفوفات الفارغة في سطر واحد، كما في {} و[].
- بلا مسافات (مضغوط) يحذف كل المسافات وفواصل الأسطر، فيصبح النص أقصر لطلب أو لقيمة إعدادات.
- ترتيب المفاتيح من A إلى Z يغيّر ترتيب الأسماء داخل كل كائن. ولا يغيّر أبداً ترتيب عناصر المصفوفة، لأن هذا الترتيب جزء من البيانات.
ما الذي يُحفظ، وماذا تعني الأخطاء
لا تُقرَّب الأعداد. فالقيمة مثل 12345678901234567890 أو 1.50 تُكتب كما كتبتها. وكثير من البرامج تقرأ عدداً بهذا الطول بدقة أقل، لذلك يُحفظ النص الأصلي.
موضع الخطأ هو أول حرف يتوقف عنده النص عن كونه JSON. ومن أكثر أسباب المشكلة: فاصلة بعد آخر عنصر، وعلامة اقتباس مفردة حيث يلزم الاقتباس المزدوج، وفاصلة ناقصة بين عنصرين. والأداة لا تصلح النص، بل تبيّن مكان المشكلة وتترك نصك كما هو.
مثال محلول: JSON الافتراضي
النص الافتراضي كائن واحد فيه خمسة أسماء. والقائمة داخله أعمق بمستوى واحد، لذلك عمق التداخل 2. يقول فحص الصحة JSON صالح، ويستخدم النص المنسّق مسافتين لكل مستوى.
مع تحديد ترتيب المفاتيح من A إلى Z، تظهر الأسماء الخمسة نفسها بالترتيب free وlicense وname وtags وversion. وتبقى قائمة الوسوم بترتيبها: json وcsv وyaml.
| النتيجة | النص الافتراضي | مع ترتيب المفاتيح من A إلى Z |
|---|---|---|
| الصحة | JSON صالح | JSON صالح |
| الأسماء (المفاتيح) | 5 | 5 |
| عمق التداخل | 2 | 2 |
الأسئلة الشائعة
ما الفرق بين تنسيق JSON والتحقق منه؟
يفحص التحقق أن النص يتبع قواعد JSON. ويغيّر التنسيق المسافات وفواصل الأسطر فقط، فتبقى البيانات كما هي. تفعل هذه الأداة الأمرين، ولا يُنسَّق النص الذي فيه خطأ أبداً.
لماذا تعرض الأداة سطراً وعموداً؟
يشيران إلى أول حرف يخالف قواعد JSON، ويُعد الموضع من 1. ويعطي Chrome وFirefox عادةً هذا الموضع في رسالة الخطأ. وإذا لم يعطِه المتصفح، تجده الأداة بنفسها.
هل يغيّر المنسّق أرقامي أو نصوصي؟
لا. تُكتب الأرقام والنصوص كما كتبتها تماماً، فيحتفظ معرّف طويل مثل 12345678901234567890 بكل أرقامه. ولا يتغير إلا المسافات وفواصل الأسطر حولها.
هل يُرسل JSON الخاص بي إلى خادم؟
لا. يعمل الفحص والتنسيق في متصفحك. ولا يُرسل ما تلصقه إلى خادمنا، ولا يُخزَّن هناك.
لماذا تُعد الفاصلة بعد آخر عنصر خطأً؟
لا يسمح JSON بفاصلة بعد آخر عنصر في كائن أو مصفوفة، وإن كانت كثير من لغات البرمجة تسمح بها. احذف الفاصلة التي تسبق القوس المعقوف أو المربع المغلق مباشرة.
هل تستطيع الأداة إصلاح JSON غير الصالح عني؟
لا. تبيّن الأداة المشكلة الأولى وتترك نصك كما هو، لأن الإصلاح قد يخمّن المعنى الخاطئ. صحح النص عند الموضع المبيّن، ثم افحصه مرة أخرى.
المصادر
آخر مراجعة للأرقام والنص: الثلاثاء، 30 جمادى الأولى 1448 بعد الهجرة.